summaryrefslogtreecommitdiff
path: root/include/asiolist.h
diff options
context:
space:
mode:
authorGary Scavone <gary@music.mcgill.ca>2007-12-04 20:09:57 +0000
committerStephen Sinclair <sinclair@music.mcgill.ca>2013-10-11 01:31:24 +0200
commitf6708f5edc4719fdc5a54cfcb11159d197dd6dcd (patch)
tree969690e2556b0d2429bcdf4aa0166961f597b524 /include/asiolist.h
parent1e492d19f956d99e3315a3600170d6f1d9869cab (diff)
Various configure changes for MinGW (gps).
Diffstat (limited to 'include/asiolist.h')
-rw-r--r--include/asiolist.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/include/asiolist.h b/include/asiolist.h
new file mode 100644
index 0000000..01c64f0
--- /dev/null
+++ b/include/asiolist.h
@@ -0,0 +1,46 @@
+#ifndef __asiolist__
+#define __asiolist__
+
+#define DRVERR -5000
+#define DRVERR_INVALID_PARAM DRVERR-1
+#define DRVERR_DEVICE_ALREADY_OPEN DRVERR-2
+#define DRVERR_DEVICE_NOT_FOUND DRVERR-3
+
+#define MAXPATHLEN 512
+#define MAXDRVNAMELEN 128
+
+struct asiodrvstruct
+{
+ int drvID;
+ CLSID clsid;
+ char dllpath[MAXPATHLEN];
+ char drvname[MAXDRVNAMELEN];
+ LPVOID asiodrv;
+ struct asiodrvstruct *next;
+};
+
+typedef struct asiodrvstruct ASIODRVSTRUCT;
+typedef ASIODRVSTRUCT *LPASIODRVSTRUCT;
+
+class AsioDriverList {
+public:
+ AsioDriverList();
+ ~AsioDriverList();
+
+ LONG asioOpenDriver (int,VOID **);
+ LONG asioCloseDriver (int);
+
+ // nice to have
+ LONG asioGetNumDev (VOID);
+ LONG asioGetDriverName (int,char *,int);
+ LONG asioGetDriverPath (int,char *,int);
+ LONG asioGetDriverCLSID (int,CLSID *);
+
+ // or use directly access
+ LPASIODRVSTRUCT lpdrvlist;
+ int numdrv;
+};
+
+typedef class AsioDriverList *LPASIODRIVERLIST;
+
+#endif