summaryrefslogtreecommitdiff
path: root/SPB/SkeletonI2C/controller.h
diff options
context:
space:
mode:
Diffstat (limited to 'SPB/SkeletonI2C/controller.h')
-rw-r--r--SPB/SkeletonI2C/controller.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/SPB/SkeletonI2C/controller.h b/SPB/SkeletonI2C/controller.h
new file mode 100644
index 00000000..40bcdf67
--- /dev/null
+++ b/SPB/SkeletonI2C/controller.h
@@ -0,0 +1,76 @@
+/*++
+
+Copyright (c) Microsoft Corporation. All rights reserved.
+
+Module Name:
+
+ controller.h
+
+Abstract:
+
+ This module contains the controller-specific function
+ definitions.
+
+Environment:
+
+ kernel-mode only
+
+Revision History:
+
+--*/
+
+#ifndef _CONTROLLER_H_
+#define _CONTROLLER_H_
+
+//
+// Controller specific function prototypes.
+//
+
+VOID ControllerInitialize(
+ _In_ PPBC_DEVICE pDevice);
+
+VOID ControllerUninitialize(
+ _In_ PPBC_DEVICE pDevice);
+
+VOID
+ControllerConfigureForTransfer(
+ _In_ PPBC_DEVICE pDevice,
+ _In_ PPBC_REQUEST pRequest);
+
+NTSTATUS
+ControllerTransferData(
+ _In_ PPBC_DEVICE pDevice,
+ _In_ PPBC_REQUEST pRequest);
+
+VOID
+ControllerCompleteTransfer(
+ _In_ PPBC_DEVICE pDevice,
+ _In_ PPBC_REQUEST pRequest,
+ _In_ BOOLEAN AbortSequence);
+
+VOID
+ControllerEnableInterrupts(
+ _In_ PPBC_DEVICE pDevice,
+ _In_ ULONG InterruptMask);
+
+VOID
+ControllerDisableInterrupts(
+ _In_ PPBC_DEVICE pDevice);
+
+ULONG
+ControllerGetInterruptStatus(
+ _In_ PPBC_DEVICE pDevice,
+ _In_ ULONG InterruptMask);
+
+VOID
+ControllerAcknowledgeInterrupts(
+ _In_ PPBC_DEVICE pDevice,
+ _In_ ULONG InterruptMask);
+
+VOID
+ControllerProcessInterrupts(
+ _In_ PPBC_DEVICE pDevice,
+ _In_ PPBC_REQUEST pRequest,
+ _In_ ULONG InterruptStatus);
+
+#endif