xref: /reactos/sdk/include/psdk/ntdd1394.h (revision c2c66aff)
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 
65