windows-nt/Source/XPSP1/NT/drivers/published/sdk/inc/ntdd1394.w
2020-09-26 16:20:57 +08:00

123 lines
2.3 KiB
OpenEdge ABL

/*++
Copyright (c) Microsoft Corporation. All rights reserved.
Module Name:
ntdd1394.h
Abstract:
Definitions for the 1394 api
Author:
George Chrysanthakopoulos (georgioc) 4/26/99
Environment:
Kernel mode only
Revision History:
--*/
#ifndef _NTDD1394_H_
#define _NTDD1394_H_
#if (_MSC_VER >= 1020)
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
//
// registry definitions
//
#define BUS1394_VIRTUAL_DEVICE_LIST_KEY L"Virtual Device List"
#define BUS1394_LOCAL_HOST_INSTANCE_KEY L"LOCAL HOST EUI64"
//
// Various definitions
//
#define IOCTL_IEEE1394_API_REQUEST CTL_CODE( \
FILE_DEVICE_UNKNOWN, \
0x100, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS \
)
//
// IEEE 1394 Sbp2 Request packet. It is how other
// device drivers communicate with the 1sbp2 trasnport.
//
typedef struct _IEEE1394_VDEV_PNP_REQUEST{
ULONG fulFlags;
ULONG Reserved;
ULARGE_INTEGER InstanceId;
UCHAR DeviceId;
} IEEE1394_VDEV_PNP_REQUEST,*PIEEE1394_VDEV_PNP_REQUEST;
typedef struct _IEEE1394_API_REQUEST {
//
// Holds the zero based Function number that corresponds to the request
// that device drivers are asking the sbp2 port driver to carry out.
//
ULONG RequestNumber;
//
// Holds Flags that may be unique to this particular operation
//
ULONG Flags;
//
// Holds the structures used in performing the various 1394 APIs
//
union {
IEEE1394_VDEV_PNP_REQUEST AddVirtualDevice;
IEEE1394_VDEV_PNP_REQUEST RemoveVirtualDevice;
} u;
} IEEE1394_API_REQUEST, *PIEEE1394_API_REQUEST;
//
// Request Number
//
#define IEEE1394_API_ADD_VIRTUAL_DEVICE 0x00000001
#define IEEE1394_API_REMOVE_VIRTUAL_DEVICE 0x00000002
//
// flags for the add/remove requests
//
#define IEEE1394_REQUEST_FLAG_UNICODE 0x00000001
#define IEEE1394_REQUEST_FLAG_PERSISTENT 0x00000002
#define IEEE1394_REQUEST_FLAG_USE_LOCAL_HOST_EUI 0x00000004
//
// definitions for the access/ownership 1394 scheme
//
#ifdef __cplusplus
}
#endif
#endif // _NTDD1394_H_