DICOM Upper Layer PDU type definitions.
Defines structs for all 7 PDU types specified in DICOM PS3.8 Section 9.3, plus their sub-item types used in association negotiation.
PDU Types
| Type | Hex | Struct | Direction |
|---|---|---|---|
| 1 | 0x01 | AssociateRq | SCU → SCP |
| 2 | 0x02 | AssociateAc | SCP → SCU |
| 3 | 0x03 | AssociateRj | SCP → SCU |
| 4 | 0x04 | PDataTf | Both |
| 5 | 0x05 | ReleaseRq | Both |
| 6 | 0x06 | ReleaseRp | Both |
| 7 | 0x07 | Abort | Both |
Sub-Items (inside A-ASSOCIATE-RQ/AC)
PresentationContext— proposed or accepted abstract syntax + transfer syntaxesAbstractSyntax— SOP Class UIDTransferSyntax— Transfer Syntax UIDUserInformation— max PDU length, implementation UID/version, extended negotiationRoleSelection— SCU/SCP role negotiation per SOP class (PS3.7 D.3.3.4)SopClassExtendedNegotiation— service-class-specific info per SOP class (PS3.7 D.3.3.5)SopClassCommonExtendedNegotiation— service class + related SOP classes (PS3.7 D.3.3.6)UserIdentity— SCU authentication credentials in A-ASSOCIATE-RQ (PS3.7 D.3.3.7)UserIdentityAc— SCP server response in A-ASSOCIATE-AC (PS3.7 D.3.3.8)
Wire Format
All PDUs share a common header: 1 byte type, 1 byte reserved (0x00), 4 bytes length (big-endian uint32). The length field does not include the 6-byte header itself.
See PS3.8 Section 9.3 for complete wire format tables.