SELF_ID structure (1394.h)
The SELF_ID structure contains a raw packet zero self-ID packet.
Syntax
typedef struct _SELF_ID {
ULONG SID_Phys_ID : 6;
ULONG SID_Packet_ID : 2;
ULONG SID_Gap_Count : 6;
ULONG SID_Link_Active : 1;
ULONG SID_Zero : 1;
ULONG SID_Power_Class : 3;
ULONG SID_Contender : 1;
ULONG SID_Delay : 2;
ULONG SID_Speed : 2;
ULONG SID_More_Packets : 1;
ULONG SID_Initiated_Rst : 1;
ULONG SID_Port3 : 2;
ULONG SID_Port2 : 2;
ULONG SID_Port1 : 2;
} SELF_ID, *PSELF_ID;
Members
SID_Phys_ID
Specifies the device node number. This member contains bits 0-5 of byte 0 of the self-ID packet.
SID_Packet_ID
Must be PHY_PACKET_ID_SELF_ID. This member contains bits 6-7 of byte 0 of the self-ID packet.
SID_Gap_Count
Specifies the current value of the node's PHY_CONFIGURATION register's gap_count member. This member contains bits 0-5 of byte 1 of the self-ID packet.
SID_Link_Active
One if the device's link and transaction layers are active, zero otherwise. This member contains bit 6 of byte 1 of the self-ID packet.
SID_Zero
Always zero. This member contains bit 7 of byte 1 of the self-ID packet.
SID_Power_Class
The possible power classes are:
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
This member contains bits 0-2 of byte 2 of the self-ID packet.
SID_Contender
One if this node is a contender for bus or isochronous resource manager, zero otherwise. This member contains bit 3 of byte 2 of the self-ID packet.
SID_Delay
Currently always zero. This member contains bits 4-5 of byte 2 of the self-ID packet.
SID_Speed
Specifies the maximum data transfer rate that is supported by the node. This member must have one of the values specified in the following table.
Value | Speed |
---|---|
0 | S100 speed |
1 | S200 speed |
2 | S400 speed |
3 | Reserved (generally treated as S400/S800 speed) |
SID_More_Packets
One if this packet will be followed by SELF_ID_MORE packets, zero otherwise. This member contains bit 0 of byte 3 of the self-ID packet.
SID_Initiated_Rst
One if this node initiated the most recent bus reset, zero otherwise. This member contains bit 1 of byte 3 of the self-ID packet.
SID_Port3
Byte 3 - Bits 2-3
SID_Port2
Byte 3 - Bits 4-5
SID_Port1
Specifies port status. Possible values are:
SELF_ID_CONNECTED_TO_CHILD
SELF_ID_CONNECTED_TO_PARENT
SELF_ID_NOT_CONNECTED
SELF_ID_NOT_PRESENT
Member SID_Port1 contains bits 2-3 of byte 3 of the self-ID packet. Member SID_Port2 contains bits 4-5 of byte 3 of the self-ID packet. Member SID_Port3 contains bits 6-7 of byte 3 of the self-ID packet.
Remarks
This structure corresponds to self ID packet 0, as described in the P1394a specification.
Requirements
Requirement | Value |
---|---|
Header | 1394.h (include 1394.h) |
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for