/*++ Copyright (c) Microsoft Corporation. All rights reserved. Module Name: 1394wmi.mof Abstract: This file defines all of the MOF classes supported by 1394 controllers Revision History: --*/ // #define MOFRESOURCENAME L"1394WMI" [Dynamic, Provider("WMIProv"), WMI, Description("IEEE1394 Standard Bus Driver Information"), GuidName1("GUID_BUS1394_WMI_STD_DATA"), GuidName2("MS1394_BusDriverInformationGuid"), HeaderName("BUS1394_WMI_STD_DATA"), guid("{099132c8-68d9-4f94-b5a6-a7a7e3490ec8}"), locale("MS\\0x409") ] class MS1394_BusDriverInformation { [key, read] string InstanceName; [read] boolean Active; [WmiDataId(1), DefineDataId("BUS1394_WMI_DDI_VERSION"), read, Description("Bus Driver DDI Version." ) ] uint32 BusDDIVersion; [WmiDataId(2), DefineDataId("BUS1394_WMI_MAX_PHY_SPEED_SUPPORTED"), read, Description("Maximum phy speed bus driver can handle." ) ] uint32 MaxPhySpeed; [WmiDataId(3), DefineDataId("BUS1394_WMI_CONTROLLER_EUI_64"), read, Description("EUI-64 for Local Host COntroller of this bus." ) ] uint64 LocalHostControllerEUI; [WmiDataId(4), DefineDataId("BUS1394_WMI_CONFIG_ROM_SIZE"), read, Description("Configuration Rom Size." ) ] uint32 ConfigRomSize; [WmiDataId(5), DefineDataId("BUS1394_WMI_CONFIG_ROM"), read, Description("Congiguration Rom Bus driver exposes on the bus." ) ] uint8 ConfigRom[1024]; [WmiDataId(6), read, Description("Reserved for future use") ] boolean Reserved1; }; [Dynamic, Provider("WMIProv"), WMI, Description("IEEE1394 Bus Information"), GuidName1("GUID_BUS1394_WMI_BUS_DATA"), GuidName2("MS1394_BusInformationGuid"), HeaderName("BUS1394_WMI_BUS_DATA"), guid("{21dab3c0-1452-49d0-bf25-c977e11ee7e9}"), locale("MS\\0x409") ] class MS1394_BusInformation { [key, read] string InstanceName; [read] boolean Active; [WmiDataId(1), DefineDataId("BUS1394_WMI_GENERATION_COUNT"), read, Description("Bus Generation." ) ] uint32 Generation; [WmiDataId(2), DefineDataId("BUS1394_WMI_LOCAL_HOST_SELF_ID"), read, Description("Local Host Self ID packet" ) ] uint32 LocalHostSelfId[4]; [WmiDataId(3), DefineDataId("BUS1394_WMI_TOPOLOGY_MAP"), read, Description("Bus Topology Map." ) ] uint32 TopologyMap[256]; [WmiDataId(4), DefineDataId("BUS1394_WMI_TREE_TOPOLOGY_MAP"), read, Description("Bus Tree Topology Map." ) ] uint32 TreeTopologyMap[64]; [WmiDataId(5), read, Description("Reserved for future use") ] boolean Reserved1; }; [Dynamic, Provider("WMIProv"), WMI, Description("IEEE1394 Bus Error Information"), GuidName1("GUID_BUS1394_WMI_ERROR_DATA"), GuidName2("MS1394_BusErrorInformationGuid"), HeaderName("BUS1394_WMI_ERROR_DATA"), guid("{2c9d0f26-5e24-4369-ba8e-3298b55f3d71}"), locale("MS\\0x409") ] class MS1394_BusErrorInformation { [key, read] string InstanceName; [read] boolean Active; [WmiDataId(1), DefineDataId("BUS1394_WMI_ERROR_DATA_GENERATION_COUNT"), read, Description("Bus Generation." ) ] uint32 Generation; [WmiDataId(2), DefineDataId("BUS1394_WMI_NUMBER_OF_UNPOWERED_DEVICES"), read, Description("Number of Devices we didnt have enough power budget to power." ) ] uint32 NumberOfUnpoweredDevices; [WmiDataId(3), DefineDataId("BUS1394_WMI_SELF_ID_PACKETS_OF_UNPOWERED_DEVICES"), read, Description("SelfIds of Devices we didnt have enough power budget to power." ) ] uint32 UnpoweredDevices[63]; [WmiDataId(4), DefineDataId("BUS1394_WMI_NUMBER_OF_NONENUMERATED_DEVICES"), read, Description("Number of Devices we couldnt enumerate." ) ] uint32 NumberOfNonEnumeratedDevices; [WmiDataId(5), DefineDataId("BUS1394_WMI_SELF_ID_PACKETS_OF_NON_ENUMERATED_DEVICES"), read, Description("SelfIds of Devices we couldnt enumerate" ) ] uint32 NonEnumeratedDevices[63]; [WmiDataId(6), read, Description("Reserved for future use") ] boolean Reserved1; }; [Dynamic, Provider("WMIProv"), WMI, Description("IEEE1394 Bus Device Enumeration Control"), GuidName1("GUID_BUS1394_WMI_ENUMERATION_CONTROL"), GuidName2("MS1394_BusDeviceEnumerationControlGuid"), HeaderName("BUS1394_WMI_DEVICE_ENUMERATION_CONTROL_DATA"), guid("{fb7f2114-d577-45b6-9c71-bb1237ce00bc}"), locale("MS\\0x409") ] class MS1394_BusDeviceEnumerationControl { [key, read] string InstanceName; [read] boolean Active; [read, write, WmiDataId(1), DefineBitMap{"BUS1394_WMI_ENUM_CONTROL_FLAG_DISABLE_ALL_ENUMERATION", "BUS1394_WMI_ENUM_CONTROL_FLAG_ENABLE_ALL_ENUMERATION"}, BitMap{"Disable All Enumeration", "Enable All Enumeration"}, BitValues{"0","1"}, DefineDataId("BUS1394_WMI_ENUM_CONTROL_FLAGS"), Description("Enumeration Control Flags" ) ] uint32 Flags; [WmiDataId(2), read, write, Description("Number Of Elements") ] uint32 NumberOfElements; // // for UNIT_KEYS, HighPart is UnitSpecId, LowPart is UnitSwVersion // [WmiDataId(3), DefineDataId("BUS1394_WMI_ENUM_CONTROL_EXCLUSION_ELEMENT_TYPE"), read, write, Values{"Unit Spec Keys", "EUI 64", "Physical Port Number"}, DefineValues{"BUS1394_WMI_ENUM_CONTROL_TYPE_UNIT_KEYS", "BUS1394_WMI_ENUM_CONTROL_TYPE_EUI_64", "BUS1394_WMI_ENUM_CONTROL_TYPE_PHYSICAL_PORT_NUMBER"}, ValueMap{"0", "1", "2"}, Description("Element Type." ) ] uint32 ExclusionElementType[63]; [WmiDataId(4), read, write, Description("Exclusion Element Flags") ] uint32 ExclusionElementFlags[63]; [WmiDataId(5), read, write, Description("Exclusion Element List") ] uint64 ExclusionElementList[63]; [WmiDataId(6), read, Description("Reserved for future use") ] boolean Reserved1; }; [Dynamic, Provider("WMIProv"), WMI, Description("IEEE1394 Bus Event Notification"), GuidName1("GUID_BUS1394_WMI_EVENT_NOTIFICATION"), GuidName2("MS1394_BusEventNotificationGuid"), HeaderName("BUS1394_WMI_EVENT_NOTIFICATION"), guid("{247e7c4a-8dc0-441f-8e04-0f1a07b73e5e}"), locale("MS\\0x409") ] class MS1394_BusEventNotification { [key, read] string InstanceName; [read] boolean Active; [WmiDataId(1), DefineDataId("DEVICE1394_WMI_NOTIFICATION_BUS_GENERATION"), read, Description("Bus Generation." ) ] uint32 BusGeneration; [WmiDataId(2), DefineDataId("BUS1394_WMI_NOTIFICATION_TYPE"), read, WmiEvent, Values{"Bus Reset Event", "Bus Reset Storm Error Event"}, DefineValues{"BUS1394_EVENT_NOTIFICATION_TYPE_BUS_RESET", "BUS1394_EVENT_NOTIFICATION_TYPE_BUS_RESET_STORM"}, ValueMap{"0", "1"}, Description("Notification Type." ) ] uint32 Type; }; // // Host controller Driver definitions // [Dynamic, Provider("WMIProv"), WMI, Description("IEEE1394 Standard Host Controller Driver Information"), GuidName1("GUID_PORT1394_WMI_STD_DATA"), GuidName2("MS1394_PortDriverInformationGuid"), HeaderName("PORT1394_WMI_STD_DATA"), guid("{fae13270-f0e0-47c2-b1f1-0ac2e4b90dfe}"), locale("MS\\0x409") ] class MS1394_PortDriverInformation { [key, read] string InstanceName; [read] boolean Active; [WmiDataId(1), DefineDataId("PORT1394_WMI_LINK_SPEED"), read, Description("Link Speed." ) ] uint32 LinkSpeed; [WmiDataId(2), DefineDataId("PORT1394_WMI_PHY_SPEED"), read, Description("Phy Speed." ) ] uint32 PhySpeed; [WmiDataId(3), DefineDataId("PORT1394_WMI_NUMBER_OF_PORTS"), read, Description("Number of phy ports present" ) ] uint32 NumberOfPhysicalPorts; [WmiDataId(4), DefineDataId("PORT1394_WMI_MAX_ASYNC_WRITE_PACKET"), read, Description("Maximum Write Asynchronous packet size." ) ] uint32 MaxAsyncWritePacket; [WmiDataId(5), DefineDataId("PORT1394_WMI_MAX_ASYNC_READ_PACKET"), read, Description("Maximum Read Asynchronous packet size." ) ] uint32 MaxAsyncReadPacket; [WmiDataId(6), DefineDataId("PORT1394_WMI_NUMBER_OF_ISOCH_TX_DMA_CONTEXTS"), read, Description("Number of Isochronous Transmit DMA engines." ) ] uint32 NumberOfIsochTxDmaContexts; [WmiDataId(7), DefineDataId("PORT1394_WMI_NUMBER_OF_ISOCH_RX_DMA_CONTEXTS"), read, Description("Number of Isochronous Receive DMA engines." ) ] uint32 NumberOfIsochRxDmaContexts; [WmiDataId(8), DefineDataId("PORT1394_WMI_NUMBER_OF_RESPONSE_WORKERS"), read, Description("Number of Outstanding Response Transmit packets we can handle." ) ] uint32 NumberOfResponseWorkers; [WmiDataId(9), DefineDataId("PORT1394_WMI_NUMBER_OF_TRANSMIT_WORKERS"), read, Description("Maximum Number of Outstanding Transmit requests." ) ] uint32 NumberOfTransmitWorkers; [WmiDataId(10), DefineDataId("PORT1394_WMI_RECEIVE_BUFFER_SIZE"), read, Description("General receive request buffer size." ) ] uint32 GeneralAsyncReceiveRequestBufferSize; [WmiDataId(11), DefineDataId("PORT1394_WMI_RESPONSE_BUFFER_SIZE"), read, Description("General receive response buffer size." ) ] uint32 GeneralAsyncReceiveResponseBufferSize; [WmiDataId(12), DefineDataId("PORT1394_WMI_POWER_DECIWATTS_SUPPLIED"), read, Description("Number of deciWatts supplied to the bus." ) ] uint32 DeciWattsSupplied; [WmiDataId(13), DefineDataId("PORT1394_WMI_POWER_DECIVOLTS_SUPPLIED"), read, Description("Number of deciVolts supplied to the bus." ) ] uint32 DeciVoltsSupplied; [read, WmiDataId(14), DefineBitMap{"SUPPORTS_PACKET_ISOCH", "SUPPORTS_STREAM_ISOCH", "SUPPORTS_ISO_HEADER_INSERTION","SUPPORTS_FIXED_PACKET_ISO_STRIPPING", "SUPPORTS_VARIABLE_PACKET_ISO_STRIPPING","SUPPORTS_BUS_CSR_IN_HARDWARE"}, BitMap{"Supports Packet ISOCH", "Supports Stream ISOCH", "Supports Iso Header Insertion","Supports Fixed Packet Iso Stripping", "Supports Variable Packet Iso Stripping","Supports Bus Csr In Hardware"}, BitValues{"0","1","2","3","4","5"}, DefineDataId("PORT1394_WMI_CONTROLLER_CAPABILITIES"), Description("Features this host controller supports." ) ] uint32 Capabilities; [WmiDataId(15), DefineDataId("PORT1394_WMI_EUI_64"), read, Description("Globally unique 64 bit identifier for this host controller." ) ] uint64 ControllerEUI; [WmiDataId(16), read, Description("Reserved for future use") ] boolean Reserved1; }; [Dynamic, Provider("WMIProv"), WMI, Description("IEEE1394 Host Controller Error Information"), GuidName1("GUID_PORT1394_WMI_ERROR_DATA"), GuidName2("MS1394_PortErrorInformationGuid"), HeaderName("PORT1394_WMI_ERROR_DATA"), guid("{09ee6a0d-c0e4-43b1-8e25-7c0fe3d28fc0}"), locale("MS\\0x409") ] class MS1394_PortErrorInformation { [key, read] string InstanceName; [read] boolean Active; [read, write, WmiDataId(1), DefineBitMap{"PORT1394_ERROR_BUS_RESET_STORM", "PORT1394_ERROR_PHYSICAL_CHIP_NOT_ACCESSIBLE"}, BitMap{"Bus Reset Storm", "Physical Chip Access Error"}, BitValues{"0","1"}, DefineDataId("PORT1394_ERROR_FLAGS"), Description("Controller Error Flags" ) ] uint32 ErrorFlags; [WmiDataId(2), read, Description("Reserved for future use") ] boolean Reserved1; }; [WMI, Description("IEEE1394 Host Controller Vendor Register Access"), GuidName1("GUID_PORT1394_WMI_VENDOR_REGISTER_ACCESS"), GuidName2("MS1394_PortVendorRegisterAccessGuid"), HeaderName("PORT1394_WMI_VENDOR_REGISTER_ACCESS"), guid("{0211cbd9-6a7a-4464-88f6-1cf81463b1fc}"), locale("MS\\0x409") ] class MS1394_PortVendorRegisterAccess { [WmiDataId(1), DefineDataId("PORT1394_WMI_NUMBER_OF_VENDOR_REGISTERS"), read, write, Description("Register to operate on." ) ] uint32 NumberOfRegisters; [WmiDataId(2), DefineDataId("PORT1394_WMI_VENDOR_REGISTER_SIZE"), read, Description("Register sizes." ) ] uint32 RegisterSize[10]; [WmiDataId(3), DefineDataId("PORT1394_WMI_VENDOR_REGISTER_OPERATION"), read, write, Values{"Register Read", "Register Write"}, DefineValues{"PORT1394_WMI_READ_VENDOR_REGISTER", "PORT1394_WMI_WRITE_VENDOR_REGISTER"}, ValueMap{"0", "1"}, Description("Register operation." ) ] uint32 RegisterOperation[10]; [WmiDataId(4), DefineDataId("PORT1394_WMI_VENDOR_REGISTER_BASE"), read, write, Description("Register base offset." ) ] uint32 RegisterBase[10]; [WmiDataId(5), DefineDataId("PORT1394_WMI_VENDOR_REGISTER_DATA"), read, write, Description("Register data." ) ] uint64 RegisterData[10]; [WmiDataId(6), read, Description("Reserved for future use") ] boolean Reserved1; }; [WMI, Description("IEEE1394 Host Controller Vendor Register Access"), guid("{0211cbd9-6a7a-4464-88f6-1cf81463b1fc}") ] class MS1394_PortVendorRegisterAccessMethods { [WmiMethodId(1), Implemented, Description(" ")] void AccessVendorSpace([in, out] MS1394_PortVendorRegisterAccess RegisterData); }; // // DEVICE INFORMATION // [Dynamic, Provider("WMIProv"), WMI, Description("IEEE1394 Standard Device Information"), GuidName1("GUID_DEVICE1394_WMI_STD_DATA"), GuidName2("MS1394_DeviceInformationGuid"), HeaderName("DEVICE1394_WMI_STD_DATA"), guid("{c9299396-3553-4d48-ab3a-8bfc833067fc}"), locale("MS\\0x409") ] class MS1394_DeviceInformation { [key, read] string InstanceName; [read] boolean Active; [WmiDataId(1), DefineDataId("DEVICE1394_WMI_CURRENT_GENERATION"), read, Description("Current Generation." ) ] uint32 Generation; [WmiDataId(2), DefineDataId("DEVICE1394_WMI_TYPE"), read, Values{"Physical Device", "Virtual Device"}, DefineValues{"DEVICE_TYPE_PHYSICAL", "DEVICE_TYPE_VIRTUAL"}, ValueMap{"0", "1"}, Description("Device Type") ] uint32 DeviceType; [WmiDataId(3), DefineDataId("DEVICE1394_WMI_PHY_SPEED"), read, Description("Phy Speed." ) ] uint32 PhySpeed; [WmiDataId(4), DefineDataId("DEVICE1394_WMI_NODE_ADDRESS"), read, Description("Node Address." ) ] uint16 NodeAddress; [WmiDataId(5), DefineDataId("DEVICE1394_WMI_POWERCLASS"), read, Values{"Power Class Not Need Not Repeat", "Power Class Self Power Provide 15W", "Power Class Self Power Provide 30W", "Power Class Self Power Provide 45W", "Power Class Maybe Powered Upto 1W", "Power Class Is Powered Upto 1W Needs 2W", "Power Class Is Powered Upto 1W Needs 5W", "Power Class Is Powered Upto 1W Needs_9W"}, DefineValues{"POWER_CLASS_NOT_NEED_NOT_REPEAT", "POWER_CLASS_SELF_POWER_PROVIDE_15W", "POWER_CLASS_SELF_POWER_PROVIDE_30W", "POWER_CLASS_SELF_POWER_PROVIDE_45W", "POWER_CLASS_MAYBE_POWERED_UPTO_1W", "POWER_CLASS_IS_POWERED_UPTO_1W_NEEDS_2W", "POWER_CLASS_IS_POWERED_UPTO_1W_NEEDS_5W", "POWER_CLASS_IS_POWERED_UPTO_1W_NEEDS_9W"}, ValueMap{"0", "1", "2", "3", "4", "5", "6", "7"}, Description("Device Power Class") ] uint32 PowerClass; [WmiDataId(6), DefineDataId("DEVICE1394_WMI_PHYSICAL_DELAY"), read, Description("Physical two way delay to the device, in micro seconds." ) ] uint32 PhyDelay; [WmiDataId(7), DefineDataId("DEVICE1394_WMI_SELF_ID_PACKET"), read, Description("Self Id Packet for this Device." ) ] uint32 SelfId[4]; [WmiDataId(8), DefineDataId("DEVICE1394_WMI_EUI_64"), read, Description("Globally unique 64 bit identifier for this Device." ) ] uint64 DeviceEUI; [WmiDataId(9), DefineDataId("DEVICE1394_WMI_CONFIG_ROM"), read, Description("Configuration Rom BusInfoBlock and Root Directory" ) ] uint32 ConfigRomHeader[32]; [WmiDataId(10), DefineDataId("DEVICE1394_WMI_UNIT_DIRECTORY"), read, Description("Unit Directory" ) ] uint32 UnitDirectory[32]; [WmiDataId(11), read, Description("Reserved for future use") ] boolean Reserved1; }; // // Device Sharing Apis // [Dynamic, Provider("WMIProv"), WMI, Description("IEEE1394 Device Access Properties"), GuidName1("GUID_DEVICE1394_WMI_ACCESS_DATA"), GuidName2("MS1394_DeviceAccessInformationGuid"), HeaderName("DEVICE1394_WMI_ACCESS_DATA"), guid("{a6fd3242-960c-4d9e-9379-43a8b358224a}"), locale("MS\\0x409") ] class MS1394_DeviceAccessInformation { [key, read] string InstanceName; [read] boolean Active; [WmiDataId(1), DefineDataId("DEVICE1394_WMI_ACCESS_VERSION"), read, Description("API Version." ) ] uint32 Version; [read, write, WmiDataId(2), DefineBitMap{"DEVICE1394_OWNERSHIP_LOCAL", "DEVICE1394_OWNERSHIP_REMOTE","DEVICE1394_ACCESS_SHARED_READ", "DEVICE1394_ACCESS_SHARED_WRITE", "DEVICE1394_ACCESS_EXCLUSIVE"}, BitMap{"Ownership Local Node", "Ownership Remote Node","Access shared for read", "Access shared for write","Access exclusive"}, BitValues{"0","1","2","3","4"}, DefineDataId("DEVICE1394_WMI_ACCESS_FLAGS"), Description("Ownership and Access Flags" ) ] uint32 OwnershipAccessFlags; [read, write, WmiDataId(3), DefineBitMap{"DEVICE1394_NOTIFY_ON_ACCESS_CHANGE"}, BitMap{"Notify on access change"}, BitValues{"0"}, DefineDataId("DEVICE1394_WMI_ACCESS_NOTIFICATION_FLAGS"), Description("Notification Flags") ] uint32 NotificationFlags; [WmiDataId(4), DefineDataId("DEVICE1394_WMI_ACCESS_REMOTE_OWNER_EUI64"), read, write, Description("EUI-64 of remote device" ) ] uint64 RemoteOwnerEUI; [WmiDataId(5), read, Description("Reserved for future use") ] boolean Reserved1; }; [Dynamic, Provider("WMIProv"), WMI, Description("IEEE1394 Device Access Notification"), GuidName1("GUID_DEVICE1394_WMI_ACCESS_NOTIFY"), GuidName2("MS1394_DeviceAccessNotificationGuid"), HeaderName("DEVICE1394_WMI_ACCESS_NOTIFICATION"), guid("{321c7c45-8676-44a8-9109-89ce358ee83f}"), locale("MS\\0x409") ] class MS1394_DeviceAccessNotification { [key, read] string InstanceName; [read] boolean Active; [WmiDataId(1), DefineDataId("DEVICE1394_WMI_ACCESS_NOTIFY_VERSION"), read, Description("API Version." ) ] uint32 Version; [WmiDataId(2), DefineDataId("DEVICE1394_WMI_ACCESS_NOTIFY_GENERATION"), read, Description("Bus Generation." ) ] uint32 BusGeneration; [WmiDataId(3), DefineDataId("DEVICE1394_WMI_ACCESS_NOTIFY_TYPE"), read, Values{"Remote Node Access Request", "Local Node Access Change"}, DefineValues{"DEVICE1394_ACCESS_NOTIFICATION_TYPE_REMOTE", "DEVICE1394_ACCESS_NOTIFICATION_TYPE_LOCAL"}, ValueMap{"0", "1"}, Description("Notification Type." ) ] uint32 Type; [WmiDataId(4), DefineDataId("DEVICE1394_WMI_ACCESS_NOTIFY_FLAGS"), read, Description("Current Ownership Flags" ) ] uint64 OwnerShipAccessFlags; [WmiDataId(5), DefineDataId("DEVICE1394_WMI_ACCESS_NOTIFY_REMOTE_OWNER_EUI64"), read, Description("EUI-64 of remote device" ) ] uint64 RemoteOwnerEUI; [WmiDataId(6), read, Description("Reserved for future use") ] boolean Reserved1; };