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