PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
pdu_types.h File Reference
#include <cstdint>
#include <string>
#include <vector>
Include dependency graph for pdu_types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::pacs::network::presentation_data_value
 Presentation Data Value (PDV) item for P-DATA-TF. More...
 
struct  kcenon::pacs::network::presentation_context_rq
 Presentation Context for A-ASSOCIATE-RQ. More...
 
struct  kcenon::pacs::network::presentation_context_ac
 Presentation Context for A-ASSOCIATE-AC. More...
 
struct  kcenon::pacs::network::scp_scu_role_selection
 SCP/SCU Role Selection Sub-item. More...
 
struct  kcenon::pacs::network::user_information
 User Information for A-ASSOCIATE-RQ/AC. More...
 
struct  kcenon::pacs::network::associate_rq
 A-ASSOCIATE-RQ PDU data. More...
 
struct  kcenon::pacs::network::associate_ac
 A-ASSOCIATE-AC PDU data. More...
 
struct  kcenon::pacs::network::associate_rj
 A-ASSOCIATE-RJ PDU data. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::pacs
 
namespace  kcenon::pacs::network
 

Enumerations

enum class  kcenon::pacs::network::pdu_type : uint8_t {
  kcenon::pacs::network::associate_rq = 0x01 , kcenon::pacs::network::associate_ac = 0x02 , kcenon::pacs::network::associate_rj = 0x03 , kcenon::pacs::network::p_data_tf = 0x04 ,
  kcenon::pacs::network::release_rq = 0x05 , kcenon::pacs::network::release_rp = 0x06 , kcenon::pacs::network::abort = 0x07
}
 PDU (Protocol Data Unit) types as defined in DICOM PS3.8. More...
 
enum class  kcenon::pacs::network::item_type : uint8_t {
  kcenon::pacs::network::application_context = 0x10 , kcenon::pacs::network::presentation_context_rq = 0x20 , kcenon::pacs::network::presentation_context_ac = 0x21 , kcenon::pacs::network::user_information = 0x50 ,
  kcenon::pacs::network::abstract_syntax = 0x30 , kcenon::pacs::network::transfer_syntax = 0x40 , kcenon::pacs::network::maximum_length = 0x51 , kcenon::pacs::network::implementation_class_uid = 0x52 ,
  kcenon::pacs::network::implementation_version_name = 0x55 , kcenon::pacs::network::async_operations_window = 0x53 , kcenon::pacs::network::scp_scu_role_selection = 0x54 , kcenon::pacs::network::sop_class_extended_negotiation = 0x56 ,
  kcenon::pacs::network::sop_class_common_extended_negotiation = 0x57 , kcenon::pacs::network::user_identity_rq = 0x58 , kcenon::pacs::network::user_identity_ac = 0x59
}
 Item types used in variable items of PDUs. More...
 
enum class  kcenon::pacs::network::presentation_context_result : uint8_t {
  kcenon::pacs::network::acceptance = 0 , kcenon::pacs::network::user_rejection = 1 , kcenon::pacs::network::no_reason = 2 , kcenon::pacs::network::abstract_syntax_not_supported = 3 ,
  kcenon::pacs::network::transfer_syntaxes_not_supported = 4
}
 Result values for A-ASSOCIATE-AC presentation context. More...
 
enum class  kcenon::pacs::network::abort_source : uint8_t { kcenon::pacs::network::service_user = 0 , kcenon::pacs::network::reserved = 1 , kcenon::pacs::network::service_provider = 2 }
 Abort source values. More...
 
enum class  kcenon::pacs::network::abort_reason : uint8_t {
  kcenon::pacs::network::not_specified = 0 , kcenon::pacs::network::unrecognized_pdu = 1 , kcenon::pacs::network::unexpected_pdu = 2 , kcenon::pacs::network::reserved = 3 ,
  kcenon::pacs::network::unrecognized_pdu_parameter = 4 , kcenon::pacs::network::unexpected_pdu_parameter = 5 , kcenon::pacs::network::invalid_pdu_parameter = 6
}
 Abort reason values when source is service-provider. More...
 
enum class  kcenon::pacs::network::reject_result : uint8_t { kcenon::pacs::network::rejected_permanent = 1 , kcenon::pacs::network::rejected_transient = 2 }
 Reject result values. More...
 
enum class  kcenon::pacs::network::reject_source : uint8_t { kcenon::pacs::network::service_user = 1 , kcenon::pacs::network::service_provider_acse = 2 , kcenon::pacs::network::service_provider_presentation = 3 }
 Reject source values. More...
 
enum class  kcenon::pacs::network::reject_reason_user : uint8_t { kcenon::pacs::network::no_reason = 1 , kcenon::pacs::network::application_context_not_supported = 2 , kcenon::pacs::network::calling_ae_not_recognized = 3 , kcenon::pacs::network::called_ae_not_recognized = 7 }
 Reject reason values when source is service-user. More...
 
enum class  kcenon::pacs::network::reject_reason_provider_acse : uint8_t { kcenon::pacs::network::no_reason = 1 , kcenon::pacs::network::protocol_version_not_supported = 2 }
 Reject reason values when source is service-provider (ACSE). More...
 
enum class  kcenon::pacs::network::reject_reason_provider_presentation : uint8_t { kcenon::pacs::network::temporary_congestion = 1 , kcenon::pacs::network::local_limit_exceeded = 2 }
 Reject reason values when source is service-provider (Presentation). More...
 

Functions

Conversion Functions
constexpr const char * kcenon::pacs::network::to_string (pdu_type type) noexcept
 Converts a pdu_type to its string representation.
 

Variables

Constants
constexpr const char * kcenon::pacs::network::DICOM_APPLICATION_CONTEXT = "1.2.840.10008.3.1.1.1"
 Default DICOM Application Context Name (PS3.7)
 
constexpr uint16_t kcenon::pacs::network::DICOM_PROTOCOL_VERSION = 0x0001
 DICOM Protocol Version.
 
constexpr size_t kcenon::pacs::network::AE_TITLE_LENGTH = 16
 AE Title length (fixed 16 characters, space-padded)
 
constexpr uint32_t kcenon::pacs::network::DEFAULT_MAX_PDU_LENGTH = 16384
 Maximum PDU length recommended by DICOM (16384 bytes)
 
constexpr uint32_t kcenon::pacs::network::UNLIMITED_MAX_PDU_LENGTH = 0
 Maximum PDU length that can be negotiated (0 = unlimited)
 

Detailed Description

Author
kcenon
Since
1.0.0

Definition in file pdu_types.h.