summaryrefslogtreecommitdiff
path: root/network/wwan/cxwmbclass/inc/utils.h
blob: e7d06637f342510d75b4cdc0ba89fef0f1bf4921 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//
//    Copyright (C) Microsoft.  All rights reserved.
//
#pragma once
NTSTATUS
SendSyncControlCommand(
    __in WDFUSBDEVICE WdfUsbDevice,
    __in WDF_USB_BMREQUEST_DIRECTION Direction,
    __in WDF_USB_BMREQUEST_RECIPIENT Recipient,
    __in BYTE Request,
    __in USHORT Value,
    __inout_bcount_opt(BufferLength) PUCHAR Buffer,
    __in ULONG BufferLength,
    __out_opt PULONG BytesTransfered);

NTSTATUS
TransactControlChannel(
    __in PBUS_OBJECT BusObject,
    __in ULONG TimeOut,
    __in_bcount_opt(InBufferLength) PUCHAR InBuffer,
    __in ULONG InBufferLength,
    __out_bcount_opt(OutBufferLength) PUCHAR OutBuffer,
    __in ULONG OutBufferLength,
    __out PULONG BytesRead);

NTSTATUS
ReadInterrupt(_In_ PBUS_OBJECT BusObject, _Inout_updates_bytes_(BufferLength) PUCHAR Buffer, _In_ ULONG BufferLength, _In_ ULONG Timeout, _Out_ PULONG BytesRead);

NTSTATUS
GetDeviceString(__in WDFUSBDEVICE UsbDevice, __in UCHAR Index, __out PWSTR* String);

NTSTATUS
MbbBusSetPacketFilter(__in MBB_BUS_HANDLE BusHandle, __in ULONG PacketFilter);

NTSTATUS
MbbBusSetNtbInSize(__in MBB_BUS_HANDLE BusHandle, __in ULONG InSize);

NTSTATUS
MbbBusGetStat(__in MBB_BUS_HANDLE BusHandle, __in USHORT StatIndex, __out ULONGLONG* Value);

NTSTATUS
MbbBusSetNtbFormat(__in MBB_BUS_HANDLE BusHandle, __in USHORT Format);

NTSTATUS
MbbBusResetFunction(__in MBB_BUS_HANDLE BusHandle);

ULONG
ProcessInterruptPipeRead(
    PBUS_OBJECT BusObject,
    __in_ecount(NewFragmentLength) PCUCHAR NewFragment,
    ULONG NewFragmentLength,
    __out_ecount(MessageBufferSize) PUCHAR CompleteMessageBuffer,
    ULONG MessageBufferSize);

NTSTATUS
WaitForResponseAvailible(PBUS_OBJECT BusObject, ULONG TimeOut);

NTSTATUS
MbbBusResetDeviceAndSetParms(__in PBUS_OBJECT BusObject);

BOOLEAN IsUsbCapDeviceInfoValid(_In_ USB_CAP_DEVICE_INFO UsbCapDeviceInfo, _In_ ULONG CapResultLength);