- get mpu401, parallel and ramdrv to work on msvc.
[reactos.git] / reactos / drivers / dd / mpu401 / mpu401.h
index 454750c..1802626 100644 (file)
 #ifndef __INCLUDES_MPU401_H__
 #define __INCLUDES_MPU401_H__
 
+//#include <mmsystem.h>
+//#include <mmddk.h>
+//#include <winioctl.h>
+#include "../../../lib/mmdrv/mmdef.h"
+
 #define DEFAULT_PORT    0x330
 #define DEFAULT_IRQ     9
 
@@ -26,6 +31,7 @@
 
 #define MPU401_TIMEOUT  10000
 
+/* OBSOLETE - see mmdef.h instead:
 #define IOCTL_SOUND_BASE FILE_DEVICE_SOUND
 // wave base 0
 #define IOCTL_MIDI_BASE  0x0080
@@ -39,7 +45,7 @@
 #define IOCTL_MIDI_RECORD CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0007, METHOD_BUFFERED, FILE_WRITE_ACCESS)
 #define IOCTL_MIDI_CACHE_PATCHES CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0008, METHOD_BUFFERED, FILE_WRITE_ACCESS)
 #define IOCTL_MIDI_CACHE_DRUM_PATCHES CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0009, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
+*/
 
 // The MPU-401 has 2 ports, usually 0x330 and 0x331, which are known as
 // "data" and "status/command", respectively. These macros deal with
@@ -79,8 +85,8 @@ typedef struct _DEVICE_EXTENSION
 {
     PUNICODE_STRING RegistryPath;
     PDRIVER_OBJECT DriverObject;
-    UINT Port;
-    UINT IRQ;
+    ULONG Port;
+    ULONG IRQ;
 //  KDPC Dpc;
 //  KTIMER Timer;
 //  KEVENT Event;
@@ -104,8 +110,8 @@ typedef struct _DEVICE_INSTANCE
 
 //typedef struct _CONFIG
 //{
-//    UINT Port;
-//    UINT IRQ;
+//    ULONG Port;
+//    ULONG IRQ;
 //} CONFIG, *PCONFIG;
 
 /*
@@ -120,21 +126,21 @@ typedef REGISTRY_CALLBACK_ROUTINE *PREGISTRY_CALLBACK_ROUTINE;
     Prototypes for functions in portio.c :
 */
 
-BOOLEAN WaitToSend(UINT BasePort);
-BOOLEAN WaitToReceive(UINT BasePort);
-BOOLEAN InitUARTMode(UINT BasePort);
+BOOLEAN WaitToSend(ULONG BasePort);
+BOOLEAN WaitToReceive(ULONG BasePort);
+BOOLEAN InitUARTMode(ULONG BasePort);
 
 /*
     Prototypes for functions in settings.c :
 */
 
-NTSTATUS EnumDeviceKeys(
+NTSTATUS STDCALL EnumDeviceKeys(
     IN PUNICODE_STRING RegistryPath,
     IN PWSTR SubKey,
     IN PREGISTRY_CALLBACK_ROUTINE Callback,
     IN PVOID Context);
 
-NTSTATUS LoadSettings(
+NTSTATUS STDCALL LoadSettings(
     IN  PWSTR ValueName,
     IN  ULONG ValueType,
     IN  PVOID ValueData,
@@ -142,4 +148,8 @@ NTSTATUS LoadSettings(
     IN  PVOID Context,
     IN  PVOID EntryContext);
 
+NTSTATUS STDCALL
+DriverEntry(PDRIVER_OBJECT DriverObject,
+           PUNICODE_STRING RegistryPath);
+
 #endif