diff options
| author | Dave Wilson <[email protected]> | 2015-03-17 19:50:07 -0700 |
|---|---|---|
| committer | Dave Wilson <[email protected]> | 2015-03-17 19:50:07 -0700 |
| commit | 97cf5197cf5b882b2c689d8dc2b555f2edf8f418 (patch) | |
| tree | 46f3701832d70b420eb0fc0eb93261f9da45db3f /spb/SpbTestTool/sys/peripheral.h | |
| parent | ef1905bf1e8825bb31120dfb27e0daf3154d859a (diff) | |
Initial publish
Diffstat (limited to 'spb/SpbTestTool/sys/peripheral.h')
| -rw-r--r-- | spb/SpbTestTool/sys/peripheral.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/spb/SpbTestTool/sys/peripheral.h b/spb/SpbTestTool/sys/peripheral.h new file mode 100644 index 00000000..fc1fc806 --- /dev/null +++ b/spb/SpbTestTool/sys/peripheral.h @@ -0,0 +1,104 @@ +/*++ + +Copyright (c) Microsoft Corporation. All rights reserved. + +Module Name: + + peripheral.h + +Abstract: + + This module contains the function definitions for + interaction with the SPB API. + +Environment: + + kernel-mode only + +Revision History: + +--*/ + +#ifndef _PERIPHERAL_H_ +#define _PERIPHERAL_H_ + +EVT_WDF_REQUEST_COMPLETION_ROUTINE SpbPeripheralOnCompletion; +EVT_WDF_REQUEST_CANCEL SpbPeripheralOnCancel; + +EVT_WDF_REQUEST_CANCEL SpbPeripheralOnWaitOnInterruptCancel; + +NTSTATUS +SpbPeripheralOpen( + _In_ PDEVICE_CONTEXT pDevice); + +NTSTATUS +SpbPeripheralClose( + _In_ PDEVICE_CONTEXT pDevice); + +VOID +SpbPeripheralLock( + _In_ PDEVICE_CONTEXT pDevice, + _In_ WDFREQUEST FxRequest); + +VOID +SpbPeripheralUnlock( + _In_ PDEVICE_CONTEXT pDevice, + _In_ WDFREQUEST FxRequest); + +VOID +SpbPeripheralLockConnection( + _In_ PDEVICE_CONTEXT pDevice, + _In_ WDFREQUEST FxRequest); + +VOID +SpbPeripheralUnlockConnection( + _In_ PDEVICE_CONTEXT pDevice, + _In_ WDFREQUEST FxRequest); + +VOID +SpbPeripheralRead( + _In_ PDEVICE_CONTEXT pDevice, + _In_ WDFREQUEST FxRequest); + +VOID +SpbPeripheralWrite( + _In_ PDEVICE_CONTEXT pDevice, + _In_ WDFREQUEST FxRequest); + +VOID +SpbPeripheralWriteRead( + _In_ PDEVICE_CONTEXT pDevice, + _In_ WDFREQUEST FxRequest); + +VOID +SpbPeripheralFullDuplex( + _In_ PDEVICE_CONTEXT pDevice, + _In_ WDFREQUEST FxRequest); + +VOID +SpbPeripheralSignalInterrupt( + _In_ PDEVICE_CONTEXT pDevice, + _In_ WDFREQUEST FxRequest); + +VOID +SpbPeripheralWaitOnInterrupt( + _In_ PDEVICE_CONTEXT pDevice, + _In_ WDFREQUEST FxRequest); + +BOOLEAN +SpbPeripheralInterruptNotify( + _In_ PDEVICE_CONTEXT pDevice); + +NTSTATUS +SpbPeripheralSendRequest( + _In_ PDEVICE_CONTEXT pDevice, + _In_ WDFREQUEST SpbRequest, + _In_ WDFREQUEST ClientRequest); + +VOID +SpbPeripheralCompleteRequestPair( + _In_ PDEVICE_CONTEXT pDevice, + _In_ NTSTATUS status, + _In_ ULONG_PTR bytesCompleted); + +#endif // _PERIPHERAL_H_ |
