1 /*
2  * ntdd1394.h
3  *
4  * This file is part of the mingw-w64 runtime package.
5  * No warranty is given; refer to the file DISCLAIMER within this package.
6  *
7  * Initial contributor is Magnus Olsen.
8  * Extended by Kai Tietz
9  */
10 
11 #ifndef _NTDD1394_H_
12 #define _NTDD1394_H_
13 
14 #include <winapifamily.h>
15 
16 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #define BUS1394_VIRTUAL_DEVICE_LIST_KEY L"Virtual Device List"
23 #define BUS1394_LOCAL_HOST_INSTANCE_KEY L"LOCAL HOST EUI64"
24 
25   typedef struct _IEEE1394_VDEV_PNP_REQUEST {
26     ULONG fulFlags;
27     ULONG Reserved;
28     ULARGE_INTEGER InstanceId;
29     UCHAR DeviceId;
30   } IEEE1394_VDEV_PNP_REQUEST,*PIEEE1394_VDEV_PNP_REQUEST;
31 
32   typedef struct _IEEE1394_API_REQUEST {
33     ULONG RequestNumber;
34     ULONG Flags;
35     union {
36       IEEE1394_VDEV_PNP_REQUEST AddVirtualDevice;
37       IEEE1394_VDEV_PNP_REQUEST RemoveVirtualDevice;
38     } u;
39   } IEEE1394_API_REQUEST,*PIEEE1394_API_REQUEST;
40 
41 #define IEEE1394_API_ADD_VIRTUAL_DEVICE 0x00000001
42 #define IEEE1394_API_REMOVE_VIRTUAL_DEVICE 0x00000002
43 #define IEEE1394_REQUEST_FLAG_UNICODE 0x00000001
44 #define IEEE1394_REQUEST_FLAG_PERSISTENT 0x00000002
45 #define IEEE1394_REQUEST_FLAG_USE_LOCAL_HOST_EUI 0x00000004
46 #define BUS1394_VIRTUAL_DEVICE_LIST_KEY L"Virtual Device List"
47 #define BUS1394_LOCAL_HOST_INSTANCE_KEY L"LOCAL HOST EUI64"
48 #define IOCTL_IEEE1394_API_REQUEST CTL_CODE (FILE_DEVICE_UNKNOWN, 0x100, METHOD_BUFFERED, FILE_ANY_ACCESS)
49 
50 #ifdef __cplusplus
51 }
52 #endif
53 #endif
54 #endif
55