~steve-sk2/mingw-w64/oneiric

« back to all changes in this revision

Viewing changes to mingw-w64-headers/include/usbrpmif.h

  • Committer: Bazaar Package Importer
  • Author(s): Stephen Kitt
  • Date: 2010-11-18 00:04:46 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20101118000446-xe24b423su55onyl
Tags: 1.0+20101003-1
* New maintainer. (Closes: #594371.)
* New upstream snapshot:
  - Includes getopt.h. (Closes: #569914.)
* Build g++ for Win64. (Closes: #600451.)
* Standards-Version 3.9.1 (new packaging).
* Include patch from
  http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64?view=revision&revision=3715
  as suggested by Rafaël Carré.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * usbrpmif.h
 
3
 *
 
4
 * This file is part of the ReactOS PSDK package.
 
5
 *
 
6
 * Contributors:
 
7
 *   Created by Amine Khaldi <amine.khaldi@reactos.org>
 
8
 *
 
9
 * THIS SOFTWARE IS NOT COPYRIGHTED
 
10
 *
 
11
 * This source code is offered for use in the public domain. You may
 
12
 * use, modify or distribute it freely.
 
13
 *
 
14
 * This code is distributed in the hope that it will be useful but
 
15
 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
 
16
 * DISCLAIMED. This includes but is not limited to warranties of
 
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
18
 *
 
19
 */
 
20
 
 
21
#pragma once
 
22
 
 
23
#include "windef.h"
 
24
#include "usb100.h"
 
25
 
 
26
#if !defined(_USBRPM_DRIVER_)
 
27
#define USBRPMAPI DECLSPEC_IMPORT
 
28
#else
 
29
#define USBRPMAPI
 
30
#endif
 
31
 
 
32
typedef struct _USBRPM_DEVICE_INFORMATION {
 
33
  ULONG64 HubId;
 
34
  ULONG ConnectionIndex;
 
35
  UCHAR DeviceClass;
 
36
  USHORT VendorId;
 
37
  USHORT ProductId;
 
38
  WCHAR ManufacturerString[MAXIMUM_USB_STRING_LENGTH];
 
39
  WCHAR ProductString[MAXIMUM_USB_STRING_LENGTH];
 
40
  WCHAR HubSymbolicLinkName[MAX_PATH];
 
41
} USBRPM_DEVICE_INFORMATION, *PUSBRPM_DEVICE_INFORMATION;
 
42
 
 
43
typedef struct _USBRPM_DEVICE_LIST {
 
44
  ULONG NumberOfDevices;
 
45
  USBRPM_DEVICE_INFORMATION Device[0];
 
46
} USBRPM_DEVICE_LIST, *PUSBRPM_DEVICE_LIST;
 
47
 
 
48
USBRPMAPI
 
49
NTSTATUS
 
50
NTAPI
 
51
RPMRegisterAlternateDriver(
 
52
  PDRIVER_OBJECT  DriverObject,
 
53
  LPCWSTR CompatibleId, 
 
54
  PHANDLE RegisteredDriver);
 
55
 
 
56
USBRPMAPI
 
57
NTSTATUS
 
58
NTAPI
 
59
RPMUnregisterAlternateDriver(
 
60
  HANDLE RegisteredDriver);
 
61
 
 
62
USBRPMAPI
 
63
NTSTATUS
 
64
RPMGetAvailableDevices(
 
65
  HANDLE RegisteredDriver,
 
66
  USHORT Locale,
 
67
  PUSBRPM_DEVICE_LIST *DeviceList);
 
68
 
 
69
USBRPMAPI
 
70
NTSTATUS
 
71
NTAPI
 
72
RPMLoadAlternateDriverForDevice(
 
73
  HANDLE RegisteredDriver,
 
74
  ULONG64 HubID,
 
75
  ULONG ConnectionIndex,
 
76
  REFGUID OwnerGuid);
 
77
 
 
78
USBRPMAPI
 
79
NTSTATUS
 
80
NTAPI
 
81
RPMUnloadAlternateDriverForDevice(
 
82
  HANDLE RegisteredDriver,
 
83
  ULONG64 HubID,
 
84
  ULONG ConnectionIndex);