Sync with trunk (r48545)
[reactos.git] / include / psdk / ntdd1394.h
1 /*
2 * ntdd1394.h
3 *
4 * Contributors:
5 * Created by Magnus Olsen
6 *
7 * THIS SOFTWARE IS NOT COPYRIGHTED
8 *
9 * This source code is offered for use in the public domain. You may
10 * use, modify or distribute it freely.
11 *
12 * This code is distributed in the hope that it will be useful but
13 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
14 * DISCLAIMED. This includes but is not limited to warranties of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 *
17 */
18
19 #ifndef _NTDD1394_H_
20 #define _NTDD1394_H_
21
22 #if (_MSC_VER >= 1020)
23 #pragma once
24 #endif
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
30 typedef struct _IEEE1394_VDEV_PNP_REQUEST
31 {
32 ULONG fulFlags;
33 ULONG Reserved;
34 ULARGE_INTEGER InstanceId;
35 UCHAR DeviceId;
36 } IEEE1394_VDEV_PNP_REQUEST,*PIEEE1394_VDEV_PNP_REQUEST;
37
38
39 typedef struct _IEEE1394_API_REQUEST
40 {
41 ULONG RequestNumber;
42 ULONG Flags;
43 union
44 {
45 IEEE1394_VDEV_PNP_REQUEST AddVirtualDevice;
46 IEEE1394_VDEV_PNP_REQUEST RemoveVirtualDevice;
47 } u;
48 } IEEE1394_API_REQUEST, *PIEEE1394_API_REQUEST;
49
50 #define IEEE1394_API_ADD_VIRTUAL_DEVICE 0x00000001
51 #define IEEE1394_API_REMOVE_VIRTUAL_DEVICE 0x00000002
52 #define IEEE1394_REQUEST_FLAG_UNICODE 0x00000001
53 #define IEEE1394_REQUEST_FLAG_PERSISTENT 0x00000002
54 #define IEEE1394_REQUEST_FLAG_USE_LOCAL_HOST_EUI 0x00000004
55 #define BUS1394_VIRTUAL_DEVICE_LIST_KEY L"Virtual Device List"
56 #define BUS1394_LOCAL_HOST_INSTANCE_KEY L"LOCAL HOST EUI64"
57 #define IOCTL_IEEE1394_API_REQUEST CTL_CODE(FILE_DEVICE_UNKNOWN, 0x100, METHOD_BUFFERED, FILE_ANY_ACCESS)
58
59 #ifdef __cplusplus
60 }
61 #endif
62
63 #endif
64