11#ifndef PACS_NETWORK_PDU_TYPES_HPP
12#define PACS_NETWORK_PDU_TYPES_HPP
44 transfer_syntax = 0x40,
156 std::vector<std::string> ts_list)
174 :
id(context_id),
result(res), transfer_syntax(std::move(
ts)) {}
257 default:
return "UNKNOWN";
reject_result
Reject result values.
@ rejected_permanent
Rejected-permanent.
@ rejected_transient
Rejected-transient.
pdu_type
PDU (Protocol Data Unit) types as defined in DICOM PS3.8.
@ associate_rj
A-ASSOCIATE-RJ (Association Reject)
@ associate_ac
A-ASSOCIATE-AC (Association Accept)
@ p_data_tf
P-DATA-TF (Data Transfer)
@ release_rq
A-RELEASE-RQ (Release Request)
@ release_rp
A-RELEASE-RP (Release Response)
@ associate_rq
A-ASSOCIATE-RQ (Association Request)
item_type
Item types used in variable items of PDUs.
@ maximum_length
Maximum Length Sub-item.
@ sop_class_extended_negotiation
SOP Class Extended Negotiation.
@ implementation_class_uid
Implementation Class UID Sub-item.
@ abstract_syntax
Abstract Syntax Sub-item.
@ user_identity_rq
User Identity RQ Sub-item.
@ async_operations_window
Asynchronous Operations Window Sub-item.
@ user_identity_ac
User Identity AC Sub-item.
@ implementation_version_name
Implementation Version Name Sub-item.
@ application_context
Application Context Item.
@ sop_class_common_extended_negotiation
SOP Class Common Extended Negotiation.
constexpr uint16_t DICOM_PROTOCOL_VERSION
DICOM Protocol Version.
constexpr const char * DICOM_APPLICATION_CONTEXT
Default DICOM Application Context Name (PS3.7)
reject_reason_provider_acse
Reject reason values when source is service-provider (ACSE).
@ protocol_version_not_supported
Protocol-version not supported.
abort_reason
Abort reason values when source is service-provider.
@ unexpected_pdu
Unexpected PDU.
@ unrecognized_pdu_parameter
Unrecognized PDU parameter.
@ not_specified
Reason not specified.
@ invalid_pdu_parameter
Invalid PDU parameter value.
@ unrecognized_pdu
Unrecognized PDU.
@ unexpected_pdu_parameter
Unexpected PDU parameter.
constexpr uint32_t DEFAULT_MAX_PDU_LENGTH
Maximum PDU length recommended by DICOM (16384 bytes)
constexpr const char * to_string(association_state state) noexcept
Convert association_state to string representation.
constexpr size_t AE_TITLE_LENGTH
AE Title length (fixed 16 characters, space-padded)
constexpr uint32_t UNLIMITED_MAX_PDU_LENGTH
Maximum PDU length that can be negotiated (0 = unlimited)
reject_source
Reject source values.
@ service_provider_acse
DICOM UL service-provider (ACSE)
@ service_provider_presentation
DICOM UL service-provider (Presentation)
abort_source
Abort source values.
@ service_user
DICOM UL service-user.
@ service_provider
DICOM UL service-provider (ACSE)
reject_reason_provider_presentation
Reject reason values when source is service-provider (Presentation).
@ local_limit_exceeded
Local limit exceeded.
@ temporary_congestion
Temporary congestion.
presentation_context_result
Result values for A-ASSOCIATE-AC presentation context.
@ abstract_syntax_not_supported
Abstract-syntax-not-supported.
@ no_reason
No reason (provider rejection)
@ transfer_syntaxes_not_supported
Transfer-syntaxes-not-supported.
@ user_rejection
User-rejection.
reject_reason_user
Reject reason values when source is service-user.
@ called_ae_not_recognized
Called-AE-title not recognized.
@ application_context_not_supported
Application-context-name not supported.
@ calling_ae_not_recognized
Calling-AE-title not recognized.
std::string calling_ae_title
Calling AE Title (16 chars max)
user_information user_info
User Information.
std::string called_ae_title
Called AE Title (16 chars max)
std::string application_context
Application Context Name UID.
std::vector< presentation_context_ac > presentation_contexts
Presentation Contexts.
associate_rj(reject_result res, uint8_t src, uint8_t rsn)
uint8_t reason
Reason/Diagnostic.
reject_result result
Result (1=permanent, 2=transient)
std::string called_ae_title
Called AE Title (16 chars max)
std::string application_context
Application Context Name UID.
user_information user_info
User Information.
std::string calling_ae_title
Calling AE Title (16 chars max)
std::vector< presentation_context_rq > presentation_contexts
Presentation Contexts.
Presentation Context for A-ASSOCIATE-AC.
presentation_context_ac(uint8_t context_id, presentation_context_result res, std::string ts="")
presentation_context_result result
Result/Reason.
uint8_t id
Presentation Context ID.
presentation_context_ac()
std::string transfer_syntax
Accepted Transfer Syntax UID.
Presentation Context for A-ASSOCIATE-RQ.
uint8_t id
Presentation Context ID (odd number 1-255)
std::string abstract_syntax
Abstract Syntax UID (SOP Class)
presentation_context_rq()
std::vector< std::string > transfer_syntaxes
Proposed Transfer Syntaxes.
presentation_context_rq(uint8_t context_id, std::string abs_syntax, std::vector< std::string > ts_list)
Presentation Data Value (PDV) item for P-DATA-TF.
presentation_data_value(uint8_t id, bool command, bool last, std::vector< uint8_t > d)
bool is_last
true if last fragment
bool is_command
true if Command message, false if Data
uint8_t context_id
Presentation Context ID (odd number 1-255)
std::vector< uint8_t > data
Fragment data.
presentation_data_value()=default
SCP/SCU Role Selection Sub-item.
bool scp_role
SCP-role (true if supported)
bool scu_role
SCU-role (true if supported)
scp_scu_role_selection(std::string uid, bool scu, bool scp)
std::string sop_class_uid
SOP Class UID.