dnp3 (C++ API) 1.6.0
Loading...
Searching...
No Matches
dnp3.hpp File Reference
#include <cstdint>
#include <stdexcept>
#include <chrono>
#include <memory>
#include <vector>

Go to the source code of this file.

Classes

class  dnp3::TcpSettings
 Global TCP/TLS configuration settings. More...
 
class  dnp3::ParamException
 Exception type corresponding to the underlying error enum ParamError. More...
 
struct  dnp3::DecodeLevel
 Controls the decoding of transmitted and received data at the application, transport, link, and physical layers. More...
 
struct  dnp3::RuntimeConfig
 Runtime configuration. More...
 
class  dnp3::Runtime
 Handle to the underlying runtime. More...
 
struct  dnp3::ControlField
 APDU Control field. More...
 
struct  dnp3::ControlCode
 CROB (Group12Var1) control code. More...
 
struct  dnp3::Group12Var1
 Control Relay Output Block. More...
 
struct  dnp3::Flags
 Collection of individual flag bits represented by an underlying mask value. More...
 
struct  dnp3::Timestamp
 Timestamp associated with particular measurement from the outstation. The validity of the value depends on the quality. More...
 
struct  dnp3::BinaryInput
 binary_input point More...
 
class  dnp3::BinaryInputIterator
 Iterator over BinaryInput instances. More...
 
struct  dnp3::DoubleBitBinaryInput
 double_bit_binary_input point More...
 
class  dnp3::DoubleBitBinaryInputIterator
 Iterator over DoubleBitBinaryInput instances. More...
 
struct  dnp3::BinaryOutputStatus
 binary_output_status point More...
 
class  dnp3::BinaryOutputStatusIterator
 Iterator over BinaryOutputStatus instances. More...
 
struct  dnp3::Counter
 counter point More...
 
class  dnp3::CounterIterator
 Iterator over Counter instances. More...
 
struct  dnp3::FrozenCounter
 frozen_counter point More...
 
class  dnp3::FrozenCounterIterator
 Iterator over FrozenCounter instances. More...
 
struct  dnp3::AnalogInput
 analog_input point More...
 
class  dnp3::AnalogInputIterator
 Iterator over AnalogInput instances. More...
 
struct  dnp3::FrozenAnalogInput
 frozen_analog_input point More...
 
class  dnp3::FrozenAnalogInputIterator
 Iterator over FrozenAnalogInput instances. More...
 
struct  dnp3::AnalogOutputStatus
 analog_output_status point More...
 
class  dnp3::AnalogOutputStatusIterator
 Iterator over AnalogOutputStatus instances. More...
 
struct  dnp3::BinaryOutputCommandEvent
 Event transferred from master to outstation when the outstation receives a corresponding command. More...
 
class  dnp3::BinaryOutputCommandEventIterator
 Iterator over BinaryOutputCommandEvent instances. More...
 
struct  dnp3::AnalogOutputCommandEvent
 Event transferred from master to outstation when the outstation receives a corresponding command. More...
 
class  dnp3::AnalogOutputCommandEventIterator
 Iterator over AnalogOutputCommandEvent instances. More...
 
struct  dnp3::UnsignedInteger
 Unsigned byte corresponding to group 102 variation 1. More...
 
class  dnp3::UnsignedIntegerIterator
 Iterator over UnsignedInteger instances. More...
 
class  dnp3::ByteIterator
 Iterator over uint8_t instances. More...
 
struct  dnp3::OctetString
 Octet String point. More...
 
class  dnp3::OctetStringIterator
 Iterator over OctetString instances. More...
 
class  dnp3::ConnectOptions
 Options that control how TCP connections are established. More...
 
class  dnp3::EndpointList
 List of IP endpoints. More...
 
struct  dnp3::ConnectStrategy
 Timing parameters for connection attempts. More...
 
struct  dnp3::TlsClientConfig
 TLS client configuration. More...
 
struct  dnp3::AttrProp
 Attribute properties returned in Group0Var255. More...
 
struct  dnp3::AttrItem
 An attribute variation and properties pair returned in Group0Var255. More...
 
class  dnp3::AttrItemIter
 Iterator over AttrItem instances. More...
 
class  dnp3::PortStateListener
 Callback interface for receiving updates about the state of a serial port. More...
 
class  dnp3::functional::PortStateListenerLambda< T >
 class that implements PortStateListener in terms of a lambda expression More...
 
class  dnp3::ClientStateListener
 Callback for monitoring the client TCP connection state. More...
 
class  dnp3::functional::ClientStateListenerLambda< T >
 class that implements ClientStateListener in terms of a lambda expression More...
 
struct  dnp3::RetryStrategy
 Retry strategy configuration. More...
 
struct  dnp3::SerialSettings
 Serial port settings. More...
 
struct  dnp3::PermissionSet
 Defines read, write, execute permissions for particular group or user. More...
 
struct  dnp3::Permissions
 Permissions for world, group, and owner. More...
 
struct  dnp3::OpenFile
 The result of opening a file on the outstation. More...
 
class  dnp3::FileException
 Exception type corresponding to the underlying error enum FileError. More...
 
struct  dnp3::FileInfo
 Information about a file or directory returned from the outstation. More...
 
class  dnp3::FileOpenCallback
 Callback interface used when opening a file. More...
 
class  dnp3::FileOperationCallback
 Callback interface used when closing a file or writing a block of file data. More...
 
class  dnp3::FileAuthCallback
 Callback interface used when obtaining an authentication key. More...
 
struct  dnp3::LoggingConfig
 Logging configuration options. More...
 
class  dnp3::Logger
 Logging interface that receives the log messages and writes them somewhere. More...
 
class  dnp3::functional::LoggerLambda< T >
 class that implements Logger in terms of a lambda expression More...
 
class  dnp3::Logging
 Provides a static method for configuring logging. More...
 
struct  dnp3::Iin1
 First IIN byte. More...
 
struct  dnp3::Iin2
 Second IIN byte. More...
 
struct  dnp3::Iin
 Pair of IIN bytes. More...
 
struct  dnp3::ResponseHeader
 Response header information. More...
 
struct  dnp3::HeaderInfo
 Information about the object header and specific variation. More...
 
class  dnp3::ReadHandler
 Callback interface used to received measurement values received from the outstation. More...
 
struct  dnp3::MasterChannelConfig
 Configuration for a MasterChannel that is independent of the physical layer. More...
 
class  dnp3::WriteDeadBandRequest
 Define a custom request to WRITE analog input dead-bands. More...
 
class  dnp3::EmptyResponseException
 Exception type corresponding to the underlying error enum EmptyResponseError. More...
 
class  dnp3::EmptyResponseCallback
 Callback interface for any task that expects an empty response. More...
 
struct  dnp3::AssociationId
 Association identifier. More...
 
struct  dnp3::PollId
 Poll identifier. More...
 
struct  dnp3::EventClasses
 Event classes. More...
 
struct  dnp3::Classes
 Class 0, 1, 2 and 3 config. More...
 
struct  dnp3::AssociationConfig
 Association configuration. More...
 
struct  dnp3::UtcTimestamp
 Timestamp value returned by AssociationHandler::get_current_time(). More...
 
class  dnp3::AssociationHandler
 Callbacks for a particular outstation association. More...
 
class  dnp3::functional::AssociationHandlerLambda< T >
 class that implements AssociationHandler in terms of a lambda expression More...
 
class  dnp3::AssociationInformation
 Informational callbacks about the current state of an outstation association. More...
 
class  dnp3::Request
 Custom request. More...
 
class  dnp3::ReadException
 Exception type corresponding to the underlying error enum ReadError. More...
 
class  dnp3::ReadTaskCallback
 Handler for read tasks. More...
 
class  dnp3::CommandSet
 Builder type used to construct command requests. More...
 
class  dnp3::CommandException
 Exception type corresponding to the underlying error enum CommandError. More...
 
class  dnp3::CommandTaskCallback
 Handler for command tasks. More...
 
class  dnp3::TimeSyncException
 Exception type corresponding to the underlying error enum TimeSyncError. More...
 
class  dnp3::TimeSyncTaskCallback
 Handler for time synchronization tasks. More...
 
class  dnp3::RestartException
 Exception type corresponding to the underlying error enum RestartError. More...
 
class  dnp3::RestartTaskCallback
 Handler for restart tasks. More...
 
class  dnp3::FileInfoCallback
 Callback interface for retrieving file info asynchronously. More...
 
class  dnp3::FileReader
 Callbacks for reading a file from the outstation asynchronously. More...
 
struct  dnp3::FileReadConfig
 Configuration related to reading a file. More...
 
struct  dnp3::DirReadConfig
 Configuration related to reading a file. More...
 
class  dnp3::FileInfoIterator
 Iterator over FileInfo instances. More...
 
class  dnp3::ReadDirectoryCallback
 Callback interface for retrieving a directory list. More...
 
class  dnp3::LinkStatusException
 Exception type corresponding to the underlying error enum LinkStatusError. More...
 
class  dnp3::LinkStatusCallback
 Handler for link status check. More...
 
class  dnp3::MasterChannel
 Represents a communication channel for a master station. More...
 
class  dnp3::AcceptHandler
 Class used to accept a connection, reject it, or defer it to link identification. More...
 
class  dnp3::IdentifiedLinkHandler
 Class used to accept a connection, reject it, or defer it to link identification. More...
 
class  dnp3::ConnectionHandler
 Callbacks to user code that determine how the server processes connections. More...
 
struct  dnp3::LinkIdConfig
 Configuration that controls how the server performs remote link identification. More...
 
class  dnp3::MasterServer
 Class with methods used to spawn servers. More...
 
struct  dnp3::UpdateInfo
 Defines what occurred during an update operation. Only certain id fields are valid depending on the value of the enumeration. More...
 
struct  dnp3::UpdateOptions
 Options that control how the update is performed. More...
 
struct  dnp3::BinaryInputConfig
 Binary Input configuration. More...
 
struct  dnp3::DoubleBitBinaryInputConfig
 Double-Bit Binary Input configuration. More...
 
struct  dnp3::BinaryOutputStatusConfig
 Binary Output Status configuration. More...
 
struct  dnp3::CounterConfig
 Counter configuration. More...
 
struct  dnp3::FrozenCounterConfig
 Frozen Counter configuration. More...
 
struct  dnp3::AnalogInputConfig
 Analog configuration. More...
 
struct  dnp3::AnalogOutputStatusConfig
 Analog Output Status configuration. More...
 
class  dnp3::Database
 Internal database access. More...
 
class  dnp3::DatabaseTransaction
 Database transaction interface. More...
 
class  dnp3::functional::DatabaseTransactionLambda< T >
 class that implements DatabaseTransaction in terms of a lambda expression More...
 
class  dnp3::DatabaseHandle
 Handle typed used to perform transactions on the database inside of control and freeze callbacks. More...
 
struct  dnp3::EventBufferConfig
 Maximum number of events for each type. More...
 
struct  dnp3::ClassZeroConfig
 Controls which types are reported during a Class 0 read. More...
 
struct  dnp3::OutstationFeatures
 Optional outstation features that can be enabled or disabled. More...
 
struct  dnp3::OutstationConfig
 Outstation configuration. More...
 
struct  dnp3::RestartDelay
 Restart delay used by OutstationApplication::cold_restart() and OutstationApplication::warm_restart() More...
 
struct  dnp3::ApplicationIin
 Application-controlled IIN bits. More...
 
struct  dnp3::ClassCount
 Remaining number of events in the buffer after a confirm on a per-class basis. More...
 
struct  dnp3::TypeCount
 Remaining number of events in the buffer after a confirm on a per-type basis. More...
 
struct  dnp3::BufferState
 Information about the state of buffer after a CONFIRM has been processed. More...
 
class  dnp3::OutstationApplication
 Dynamic information required by the outstation from the user application. More...
 
struct  dnp3::RequestHeader
 Application-layer header for requests. More...
 
class  dnp3::OutstationInformation
 Informational callbacks that the outstation doesn't rely on to function. More...
 
class  dnp3::ControlHandler
 Callbacks for handling controls. More...
 
class  dnp3::ConnectionStateListener
 Callback interface for connection state events. More...
 
class  dnp3::functional::ConnectionStateListenerLambda< T >
 class that implements ConnectionStateListener in terms of a lambda expression More...
 
struct  dnp3::OutstationUdpConfig
 UDP outstation configuration. More...
 
class  dnp3::Outstation
 Outstation handle. More...
 
class  dnp3::AddressFilter
 Filters connecting client by their IP address to associate a connecting master with an outstation on the server. More...
 
struct  dnp3::TlsServerConfig
 TLS server configuration. More...
 
class  dnp3::OutstationServer
 TCP server that listens for connections and routes the messages to outstations. More...
 

Namespaces

namespace  dnp3
 main namespace for the dnp3 library
 
namespace  dnp3::flag
 Individual flag constants that may be combined using bitwise-OR operator.
 
namespace  dnp3::attribute_variations
 Device attribute variation constants.
 
namespace  dnp3::functional
 helpers functions to create interface implementations using lambdas
 

Enumerations

enum class  dnp3::ParamError {
  dnp3::ok = 0 , dnp3::invalid_timeout = 1 , dnp3::null_parameter = 2 , dnp3::string_not_utf8 = 3 ,
  dnp3::no_support = 4 , dnp3::association_does_not_exist = 5 , dnp3::association_duplicate_address = 6 , dnp3::invalid_socket_address = 7 ,
  dnp3::invalid_dnp3_address = 8 , dnp3::invalid_buffer_size = 9 , dnp3::address_filter_conflict = 10 , dnp3::server_already_started = 11 ,
  dnp3::server_bind_error = 12 , dnp3::master_already_shutdown = 13 , dnp3::runtime_creation_failure = 14 , dnp3::runtime_destroyed = 15 ,
  dnp3::runtime_cannot_block_within_async = 16 , dnp3::logging_already_configured = 17 , dnp3::point_does_not_exist = 18 , dnp3::invalid_peer_certificate = 19 ,
  dnp3::invalid_local_certificate = 20 , dnp3::invalid_private_key = 21 , dnp3::invalid_dns_name = 22 , dnp3::other_tls_error = 23 ,
  dnp3::wrong_channel_type = 24 , dnp3::consumed = 25
}
 Error type used throughout the library. More...
 
enum class  dnp3::CommandStatus {
  dnp3::success = 0 , dnp3::timeout = 1 , dnp3::no_select = 2 , dnp3::format_error = 3 ,
  dnp3::not_supported = 4 , dnp3::already_active = 5 , dnp3::hardware_error = 6 , dnp3::local = 7 ,
  dnp3::too_many_ops = 8 , dnp3::not_authorized = 9 , dnp3::automation_inhibit = 10 , dnp3::processing_limited = 11 ,
  dnp3::out_of_range = 12 , dnp3::downstream_local = 13 , dnp3::already_complete = 14 , dnp3::blocked = 15 ,
  dnp3::canceled = 16 , dnp3::blocked_other_master = 17 , dnp3::downstream_fail = 18 , dnp3::non_participating = 19 ,
  dnp3::unknown = 20
}
 Enumeration received from an outstation in response to command request. More...
 
enum class  dnp3::AppDecodeLevel { dnp3::nothing = 0 , dnp3::header = 1 , dnp3::object_headers = 2 , dnp3::object_values = 3 }
 Controls how transmitted and received application-layer fragments are decoded at the INFO log level. More...
 
enum class  dnp3::TransportDecodeLevel { dnp3::nothing = 0 , dnp3::header = 1 , dnp3::payload = 2 }
 Controls how transmitted and received transport segments are decoded at the INFO log level. More...
 
enum class  dnp3::LinkDecodeLevel { dnp3::nothing = 0 , dnp3::header = 1 , dnp3::payload = 2 }
 Controls how transmitted and received link frames are decoded at the INFO log level. More...
 
enum class  dnp3::PhysDecodeLevel { dnp3::nothing = 0 , dnp3::length = 1 , dnp3::data = 2 }
 Controls how data transmitted at the physical layer (TCP, serial, etc) is logged. More...
 
enum class  dnp3::TripCloseCode { dnp3::nul = 0 , dnp3::close = 1 , dnp3::trip = 2 , dnp3::reserved = 3 }
 Trip-Close Code field, used in conjunction with OpType to specify a control operation. More...
 
enum class  dnp3::OpType {
  dnp3::nul = 0 , dnp3::pulse_on = 1 , dnp3::pulse_off = 2 , dnp3::latch_on = 3 ,
  dnp3::latch_off = 4
}
 Operation Type field, used in conjunction with TripCloseCode to specify a control operation. More...
 
enum class  dnp3::TimeQuality { dnp3::synchronized_time = 0 , dnp3::unsynchronized_time = 1 , dnp3::invalid_time = 2 }
 Timestamp quality. More...
 
enum class  dnp3::DoubleBit { dnp3::intermediate = 0 , dnp3::determined_off = 1 , dnp3::determined_on = 2 , dnp3::indeterminate = 3 }
 Double-bit binary input value. More...
 
enum class  dnp3::AnalogCommandType { dnp3::i16 = 0 , dnp3::i32 = 1 , dnp3::f32 = 2 , dnp3::f64 = 3 }
 Describes the encoding of the commanded value. More...
 
enum class  dnp3::MinTlsVersion { dnp3::v12 = 0 , dnp3::v13 = 1 }
 Minimum TLS version to allow. More...
 
enum class  dnp3::CertificateMode { dnp3::authority_based = 0 , dnp3::self_signed = 1 }
 Determines how the certificate(s) presented by the peer are validated. More...
 
enum class  dnp3::VariationListAttr { dnp3::unknown = 0 , dnp3::list_of_variations = 1 }
 Enumeration of all the variation list attributes. More...
 
enum class  dnp3::StringAttr {
  dnp3::unknown = 0 , dnp3::config_id = 1 , dnp3::config_version = 2 , dnp3::config_digest_algorithm = 3 ,
  dnp3::master_resource_id = 4 , dnp3::user_assigned_secondary_operator_name = 5 , dnp3::user_assigned_primary_operator_name = 6 , dnp3::user_assigned_system_name = 7 ,
  dnp3::user_specific_attributes = 8 , dnp3::device_manufacturer_software_version = 9 , dnp3::device_manufacturer_hardware_version = 10 , dnp3::user_assigned_owner_name = 11 ,
  dnp3::user_assigned_location = 12 , dnp3::user_assigned_id = 13 , dnp3::user_assigned_device_name = 14 , dnp3::device_serial_number = 15 ,
  dnp3::device_subset_and_conformance = 16 , dnp3::product_name_and_model = 17 , dnp3::device_manufacturers_name = 18
}
 Enumeration of all the default string attributes. More...
 
enum class  dnp3::UintAttr {
  dnp3::unknown = 0 , dnp3::secure_auth_version = 1 , dnp3::num_security_stats_per_assoc = 2 , dnp3::num_master_defined_data_set_proto = 3 ,
  dnp3::num_outstation_defined_data_set_proto = 4 , dnp3::num_master_defined_data_sets = 5 , dnp3::num_outstation_defined_data_sets = 6 , dnp3::max_binary_output_per_request = 7 ,
  dnp3::local_timing_accuracy = 8 , dnp3::duration_of_time_accuracy = 9 , dnp3::max_analog_output_index = 10 , dnp3::num_analog_outputs = 11 ,
  dnp3::max_binary_output_index = 12 , dnp3::num_binary_outputs = 13 , dnp3::max_counter_index = 14 , dnp3::num_counter = 15 ,
  dnp3::max_analog_input_index = 16 , dnp3::num_analog_input = 17 , dnp3::max_double_bit_binary_input_index = 18 , dnp3::num_double_bit_binary_input = 19 ,
  dnp3::max_binary_input_index = 20 , dnp3::num_binary_input = 21 , dnp3::max_tx_fragment_size = 22 , dnp3::max_rx_fragment_size = 23
}
 Enumeration of all the default uint attributes. More...
 
enum class  dnp3::IntAttr { dnp3::unknown = 0 }
 Enumeration of all the default integer attributes. More...
 
enum class  dnp3::BoolAttr {
  dnp3::unknown = 0 , dnp3::supports_analog_output_events = 1 , dnp3::supports_binary_output_events = 2 , dnp3::supports_frozen_counter_events = 3 ,
  dnp3::supports_frozen_counters = 4 , dnp3::supports_counter_events = 5 , dnp3::supports_frozen_analog_inputs = 6 , dnp3::supports_analog_input_events = 7 ,
  dnp3::supports_double_bit_binary_input_events = 8 , dnp3::supports_binary_input_events = 9
}
 Enumeration of all the known boolean attributes. More...
 
enum class  dnp3::TimeAttr { dnp3::unknown = 0 , dnp3::config_build_date = 1 , dnp3::config_last_change_date = 2 }
 Enumeration of all the known DNP3 Time attributes. More...
 
enum class  dnp3::OctetStringAttr { dnp3::unknown = 0 , dnp3::config_digest = 1 }
 Enumeration of all known octet-string attributes. More...
 
enum class  dnp3::BitStringAttr { dnp3::unknown = 0 }
 Enumeration of all known bit-string attributes. More...
 
enum class  dnp3::FloatAttr { dnp3::unknown = 0 , dnp3::device_location_altitude = 1 , dnp3::device_location_longitude = 2 , dnp3::device_location_latitude = 3 }
 Enumeration of all known float attributes. More...
 
enum class  dnp3::Nothing { dnp3::nothing = 0 }
 A single value enum which is used as a placeholder for futures that don't return a value. More...
 
enum class  dnp3::PortState { dnp3::disabled = 0 , dnp3::wait = 1 , dnp3::open = 2 , dnp3::shutdown = 3 }
 State of the serial port. More...
 
enum class  dnp3::ClientState {
  dnp3::disabled = 0 , dnp3::connecting = 1 , dnp3::connected = 2 , dnp3::wait_after_failed_connect = 3 ,
  dnp3::wait_after_disconnect = 4 , dnp3::shutdown = 5
}
 State of the client connection. More...
 
enum class  dnp3::Variation {
  dnp3::group0 = 0 , dnp3::group0_var254 = 1 , dnp3::group1_var0 = 2 , dnp3::group1_var1 = 3 ,
  dnp3::group1_var2 = 4 , dnp3::group2_var0 = 5 , dnp3::group2_var1 = 6 , dnp3::group2_var2 = 7 ,
  dnp3::group2_var3 = 8 , dnp3::group3_var0 = 9 , dnp3::group3_var1 = 10 , dnp3::group3_var2 = 11 ,
  dnp3::group4_var0 = 12 , dnp3::group4_var1 = 13 , dnp3::group4_var2 = 14 , dnp3::group4_var3 = 15 ,
  dnp3::group10_var0 = 16 , dnp3::group10_var1 = 17 , dnp3::group10_var2 = 18 , dnp3::group11_var0 = 19 ,
  dnp3::group11_var1 = 20 , dnp3::group11_var2 = 21 , dnp3::group12_var1 = 22 , dnp3::group13_var1 = 23 ,
  dnp3::group13_var2 = 24 , dnp3::group20_var0 = 25 , dnp3::group20_var1 = 26 , dnp3::group20_var2 = 27 ,
  dnp3::group20_var5 = 28 , dnp3::group20_var6 = 29 , dnp3::group21_var0 = 30 , dnp3::group21_var1 = 31 ,
  dnp3::group21_var2 = 32 , dnp3::group21_var5 = 33 , dnp3::group21_var6 = 34 , dnp3::group21_var9 = 35 ,
  dnp3::group21_var10 = 36 , dnp3::group22_var0 = 37 , dnp3::group22_var1 = 38 , dnp3::group22_var2 = 39 ,
  dnp3::group22_var5 = 40 , dnp3::group22_var6 = 41 , dnp3::group23_var0 = 42 , dnp3::group23_var1 = 43 ,
  dnp3::group23_var2 = 44 , dnp3::group23_var5 = 45 , dnp3::group23_var6 = 46 , dnp3::group30_var0 = 47 ,
  dnp3::group30_var1 = 48 , dnp3::group30_var2 = 49 , dnp3::group30_var3 = 50 , dnp3::group30_var4 = 51 ,
  dnp3::group30_var5 = 52 , dnp3::group30_var6 = 53 , dnp3::group31_var0 = 54 , dnp3::group31_var1 = 55 ,
  dnp3::group31_var2 = 56 , dnp3::group31_var3 = 57 , dnp3::group31_var4 = 58 , dnp3::group31_var5 = 59 ,
  dnp3::group31_var6 = 60 , dnp3::group31_var7 = 61 , dnp3::group31_var8 = 62 , dnp3::group32_var0 = 63 ,
  dnp3::group32_var1 = 64 , dnp3::group32_var2 = 65 , dnp3::group32_var3 = 66 , dnp3::group32_var4 = 67 ,
  dnp3::group32_var5 = 68 , dnp3::group32_var6 = 69 , dnp3::group32_var7 = 70 , dnp3::group32_var8 = 71 ,
  dnp3::group33_var0 = 72 , dnp3::group33_var1 = 73 , dnp3::group33_var2 = 74 , dnp3::group33_var3 = 75 ,
  dnp3::group33_var4 = 76 , dnp3::group33_var5 = 77 , dnp3::group33_var6 = 78 , dnp3::group33_var7 = 79 ,
  dnp3::group33_var8 = 80 , dnp3::group34_var0 = 81 , dnp3::group34_var1 = 82 , dnp3::group34_var2 = 83 ,
  dnp3::group34_var3 = 84 , dnp3::group40_var0 = 85 , dnp3::group40_var1 = 86 , dnp3::group40_var2 = 87 ,
  dnp3::group40_var3 = 88 , dnp3::group40_var4 = 89 , dnp3::group41_var1 = 90 , dnp3::group41_var2 = 91 ,
  dnp3::group41_var3 = 92 , dnp3::group41_var4 = 93 , dnp3::group42_var0 = 94 , dnp3::group42_var1 = 95 ,
  dnp3::group42_var2 = 96 , dnp3::group42_var3 = 97 , dnp3::group42_var4 = 98 , dnp3::group42_var5 = 99 ,
  dnp3::group42_var6 = 100 , dnp3::group42_var7 = 101 , dnp3::group42_var8 = 102 , dnp3::group43_var1 = 103 ,
  dnp3::group43_var2 = 104 , dnp3::group43_var3 = 105 , dnp3::group43_var4 = 106 , dnp3::group43_var5 = 107 ,
  dnp3::group43_var6 = 108 , dnp3::group43_var7 = 109 , dnp3::group43_var8 = 110 , dnp3::group50_var1 = 111 ,
  dnp3::group50_var2 = 112 , dnp3::group50_var3 = 113 , dnp3::group50_var4 = 114 , dnp3::group51_var1 = 115 ,
  dnp3::group51_var2 = 116 , dnp3::group52_var1 = 117 , dnp3::group52_var2 = 118 , dnp3::group60_var1 = 119 ,
  dnp3::group60_var2 = 120 , dnp3::group60_var3 = 121 , dnp3::group60_var4 = 122 , dnp3::group70_var2 = 123 ,
  dnp3::group70_var3 = 124 , dnp3::group70_var4 = 125 , dnp3::group70_var5 = 126 , dnp3::group70_var6 = 127 ,
  dnp3::group70_var7 = 128 , dnp3::group70_var8 = 129 , dnp3::group80_var1 = 130 , dnp3::group102_var0 = 131 ,
  dnp3::group102_var1 = 132 , dnp3::group110 = 133 , dnp3::group111 = 134
}
 Group/Variation. More...
 
enum class  dnp3::DataBits { dnp3::five = 0 , dnp3::six = 1 , dnp3::seven = 2 , dnp3::eight = 3 }
 Number of bits per character. More...
 
enum class  dnp3::FlowControl { dnp3::none = 0 , dnp3::software = 1 , dnp3::hardware = 2 }
 Flow control modes. More...
 
enum class  dnp3::Parity { dnp3::none = 0 , dnp3::odd = 1 , dnp3::even = 2 }
 Parity checking modes. More...
 
enum class  dnp3::StopBits { dnp3::one = 0 , dnp3::two = 1 }
 Number of stop bits. More...
 
enum class  dnp3::LinkErrorMode { dnp3::discard = 0 , dnp3::close = 1 }
 Controls how errors in parsed link-layer frames are handled. This behavior is configurable for physical layers with built-in error correction like TCP as the connection might be through a terminal server. More...
 
enum class  dnp3::FunctionCode {
  dnp3::confirm = 0 , dnp3::read = 1 , dnp3::write = 2 , dnp3::select = 3 ,
  dnp3::operate = 4 , dnp3::direct_operate = 5 , dnp3::direct_operate_no_response = 6 , dnp3::immediate_freeze = 7 ,
  dnp3::immediate_freeze_no_response = 8 , dnp3::freeze_clear = 9 , dnp3::freeze_clear_no_response = 10 , dnp3::freeze_at_time = 11 ,
  dnp3::freeze_at_time_no_response = 12 , dnp3::cold_restart = 13 , dnp3::warm_restart = 14 , dnp3::initialize_data = 15 ,
  dnp3::initialize_application = 16 , dnp3::start_application = 17 , dnp3::stop_application = 18 , dnp3::save_configuration = 19 ,
  dnp3::enable_unsolicited = 20 , dnp3::disable_unsolicited = 21 , dnp3::assign_class = 22 , dnp3::delay_measure = 23 ,
  dnp3::record_current_time = 24 , dnp3::open_file = 25 , dnp3::close_file = 26 , dnp3::delete_file = 27 ,
  dnp3::get_file_info = 28 , dnp3::authenticate_file = 29 , dnp3::abort_file = 30 , dnp3::response = 31 ,
  dnp3::unsolicited_response = 32
}
 Application layer function code. More...
 
enum class  dnp3::FileType { dnp3::directory = 0 , dnp3::simple = 1 , dnp3::other = 2 }
 File type enumeration used in Group 70 objects. More...
 
enum class  dnp3::FileError {
  dnp3::ok = 0 , dnp3::bad_status = 1 , dnp3::no_permission = 2 , dnp3::bad_block_num = 3 ,
  dnp3::abort_by_user = 4 , dnp3::max_length_exceeded = 5 , dnp3::wrong_handle = 6 , dnp3::too_many_requests = 7 ,
  dnp3::iin_error = 8 , dnp3::bad_response = 9 , dnp3::response_timeout = 10 , dnp3::write_error = 11 ,
  dnp3::no_connection = 12 , dnp3::shutdown = 13 , dnp3::association_removed = 14 , dnp3::bad_encoding = 15
}
 Errors that can occur during file transfer. More...
 
enum class  dnp3::FileMode { dnp3::read = 0 , dnp3::write = 1 , dnp3::append = 2 }
 Different modes in which files may be opened. More...
 
enum class  dnp3::UdpSocketMode { dnp3::one_to_one = 0 , dnp3::one_to_many = 1 }
 Describes how the UDP socket reads and writes datagrams from remote endpoint(s) More...
 
enum class  dnp3::LinkReadMode { dnp3::stream = 0 , dnp3::datagram = 1 }
 Controls how the link-layer parser treats frames that span multiple calls to read of the physical layer. More...
 
enum class  dnp3::LogLevel {
  dnp3::error = 0 , dnp3::warn = 1 , dnp3::info = 2 , dnp3::debug = 3 ,
  dnp3::trace = 4
}
 Log level. More...
 
enum class  dnp3::LogOutputFormat { dnp3::text = 0 , dnp3::json = 1 }
 Describes how each log event is formatted. More...
 
enum class  dnp3::TimeFormat { dnp3::none = 0 , dnp3::rfc_3339 = 1 , dnp3::system = 2 }
 Describes if and how the time will be formatted in log messages. More...
 
enum class  dnp3::ResponseFunction { dnp3::response = 0 , dnp3::unsolicited_response = 1 }
 Type of response. More...
 
enum class  dnp3::QualifierCode {
  dnp3::range8 = 0 , dnp3::range16 = 1 , dnp3::all_objects = 2 , dnp3::count8 = 3 ,
  dnp3::count16 = 4 , dnp3::count_and_prefix_8 = 5 , dnp3::count_and_prefix_16 = 6 , dnp3::free_format_16 = 7
}
 Qualifier code used in the response. More...
 
enum class  dnp3::ReadType { dnp3::startup_integrity = 0 , dnp3::unsolicited = 1 , dnp3::single_poll = 2 , dnp3::periodic_poll = 3 }
 Describes the source of a read event. More...
 
enum class  dnp3::EmptyResponseError {
  dnp3::ok = 0 , dnp3::rejected_by_iin2 = 1 , dnp3::too_many_requests = 2 , dnp3::iin_error = 3 ,
  dnp3::bad_response = 4 , dnp3::response_timeout = 5 , dnp3::write_error = 6 , dnp3::no_connection = 7 ,
  dnp3::shutdown = 8 , dnp3::association_removed = 9 , dnp3::bad_encoding = 10
}
 Errors that may occur when performing a request that expects a response with zero object headers. More...
 
enum class  dnp3::AutoTimeSync { dnp3::none = 0 , dnp3::lan = 1 , dnp3::non_lan = 2 }
 Automatic time synchronization configuration. More...
 
enum class  dnp3::TaskType {
  dnp3::user_read = 0 , dnp3::periodic_poll = 1 , dnp3::startup_integrity = 2 , dnp3::auto_event_scan = 3 ,
  dnp3::command = 4 , dnp3::clear_restart_bit = 5 , dnp3::enable_unsolicited = 6 , dnp3::disable_unsolicited = 7 ,
  dnp3::time_sync = 8 , dnp3::restart = 9 , dnp3::write_dead_bands = 10 , dnp3::generic_empty_response = 11 ,
  dnp3::file_read = 12 , dnp3::get_file_info = 13 , dnp3::file_auth = 14 , dnp3::file_open = 15 ,
  dnp3::file_write_block = 16 , dnp3::file_close = 17
}
 Task type used in AssociationInformation. More...
 
enum class  dnp3::TaskError {
  dnp3::too_many_requests = 0 , dnp3::iin_error = 1 , dnp3::bad_response = 2 , dnp3::response_timeout = 3 ,
  dnp3::write_error = 4 , dnp3::no_connection = 5 , dnp3::shutdown = 6 , dnp3::association_removed = 7 ,
  dnp3::bad_encoding = 8
}
 Task error used in AssociationInformation. More...
 
enum class  dnp3::ReadError {
  dnp3::ok = 0 , dnp3::too_many_requests = 1 , dnp3::iin_error = 2 , dnp3::bad_response = 3 ,
  dnp3::response_timeout = 4 , dnp3::write_error = 5 , dnp3::no_connection = 6 , dnp3::shutdown = 7 ,
  dnp3::association_removed = 8 , dnp3::bad_encoding = 9
}
 Errors that can occur during a read operation. More...
 
enum class  dnp3::CommandMode { dnp3::direct_operate = 0 , dnp3::select_before_operate = 1 }
 Command operation mode. More...
 
enum class  dnp3::CommandError {
  dnp3::ok = 0 , dnp3::bad_status = 1 , dnp3::header_mismatch = 2 , dnp3::too_many_requests = 3 ,
  dnp3::iin_error = 4 , dnp3::bad_response = 5 , dnp3::response_timeout = 6 , dnp3::write_error = 7 ,
  dnp3::no_connection = 8 , dnp3::shutdown = 9 , dnp3::association_removed = 10 , dnp3::bad_encoding = 11
}
 Result of a command. More...
 
enum class  dnp3::TimeSyncMode { dnp3::lan = 0 , dnp3::non_lan = 1 }
 Time synchronization mode. More...
 
enum class  dnp3::TimeSyncError {
  dnp3::ok = 0 , dnp3::clock_rollback = 1 , dnp3::system_time_not_unix = 2 , dnp3::bad_outstation_time_delay = 3 ,
  dnp3::overflow = 4 , dnp3::still_needs_time = 5 , dnp3::system_time_not_available = 6 , dnp3::too_many_requests = 7 ,
  dnp3::iin_error = 8 , dnp3::bad_response = 9 , dnp3::response_timeout = 10 , dnp3::write_error = 11 ,
  dnp3::no_connection = 12 , dnp3::shutdown = 13 , dnp3::association_removed = 14 , dnp3::bad_encoding = 15
}
 Possible errors that can occur during a time synchronization procedure. More...
 
enum class  dnp3::RestartError {
  dnp3::ok = 0 , dnp3::too_many_requests = 1 , dnp3::iin_error = 2 , dnp3::bad_response = 3 ,
  dnp3::response_timeout = 4 , dnp3::write_error = 5 , dnp3::no_connection = 6 , dnp3::shutdown = 7 ,
  dnp3::association_removed = 8 , dnp3::bad_encoding = 9
}
 Errors that can occur during a cold/warm restart operation. More...
 
enum class  dnp3::LinkStatusError {
  dnp3::ok = 0 , dnp3::unexpected_response = 1 , dnp3::too_many_requests = 2 , dnp3::iin_error = 3 ,
  dnp3::bad_response = 4 , dnp3::response_timeout = 5 , dnp3::write_error = 6 , dnp3::no_connection = 7 ,
  dnp3::shutdown = 8 , dnp3::association_removed = 9 , dnp3::bad_encoding = 10
}
 Errors that can occur during a manually initiated link status check. See MasterChannel::check_link_status() More...
 
enum class  dnp3::EventClass { dnp3::none = 0 , dnp3::class1 = 1 , dnp3::class2 = 2 , dnp3::class3 = 3 }
 Event class. More...
 
enum class  dnp3::UpdateResult { dnp3::no_point = 0 , dnp3::no_event = 1 , dnp3::created = 2 , dnp3::overflow = 3 }
 Defines what occurred during an update operation and which fields of UpdateInfo are valid. More...
 
enum class  dnp3::EventMode { dnp3::detect = 0 , dnp3::force = 1 , dnp3::suppress = 2 }
 Controls how events are processed when updating values in the database. More...
 
enum class  dnp3::UpdateFlagsType {
  dnp3::binary_input = 0 , dnp3::double_bit_binary_input = 1 , dnp3::binary_output_status = 2 , dnp3::counter = 3 ,
  dnp3::frozen_counter = 4 , dnp3::analog_input = 5 , dnp3::analog_output_status = 6
}
 Point type on which to update the flags. More...
 
enum class  dnp3::StaticBinaryInputVariation { dnp3::group1_var1 = 0 , dnp3::group1_var2 = 1 }
 Static binary input variation. More...
 
enum class  dnp3::EventBinaryInputVariation { dnp3::group2_var1 = 0 , dnp3::group2_var2 = 1 , dnp3::group2_var3 = 2 }
 Event binary input variation. More...
 
enum class  dnp3::StaticDoubleBitBinaryInputVariation { dnp3::group3_var1 = 0 , dnp3::group3_var2 = 1 }
 Static double-bit binary input variation. More...
 
enum class  dnp3::EventDoubleBitBinaryInputVariation { dnp3::group4_var1 = 0 , dnp3::group4_var2 = 1 , dnp3::group4_var3 = 2 }
 Event double-bit binary input variation. More...
 
enum class  dnp3::StaticBinaryOutputStatusVariation { dnp3::group10_var1 = 0 , dnp3::group10_var2 = 1 }
 Static binary output status variation. More...
 
enum class  dnp3::EventBinaryOutputStatusVariation { dnp3::group11_var1 = 0 , dnp3::group11_var2 = 1 }
 Event binary output status variation. More...
 
enum class  dnp3::StaticCounterVariation { dnp3::group20_var1 = 0 , dnp3::group20_var2 = 1 , dnp3::group20_var5 = 2 , dnp3::group20_var6 = 3 }
 Static counter variation. More...
 
enum class  dnp3::EventCounterVariation { dnp3::group22_var1 = 0 , dnp3::group22_var2 = 1 , dnp3::group22_var5 = 2 , dnp3::group22_var6 = 3 }
 Event counter variation. More...
 
enum class  dnp3::StaticFrozenCounterVariation {
  dnp3::group21_var1 = 0 , dnp3::group21_var2 = 1 , dnp3::group21_var5 = 2 , dnp3::group21_var6 = 3 ,
  dnp3::group21_var9 = 4 , dnp3::group21_var10 = 5
}
 Static frozen counter variation. More...
 
enum class  dnp3::EventFrozenCounterVariation { dnp3::group23_var1 = 0 , dnp3::group23_var2 = 1 , dnp3::group23_var5 = 2 , dnp3::group23_var6 = 3 }
 Event frozen counter variation. More...
 
enum class  dnp3::StaticAnalogInputVariation {
  dnp3::group30_var1 = 0 , dnp3::group30_var2 = 1 , dnp3::group30_var3 = 2 , dnp3::group30_var4 = 3 ,
  dnp3::group30_var5 = 4 , dnp3::group30_var6 = 5
}
 Static analog variation. More...
 
enum class  dnp3::EventAnalogInputVariation {
  dnp3::group32_var1 = 0 , dnp3::group32_var2 = 1 , dnp3::group32_var3 = 2 , dnp3::group32_var4 = 3 ,
  dnp3::group32_var5 = 4 , dnp3::group32_var6 = 5 , dnp3::group32_var7 = 6 , dnp3::group32_var8 = 7
}
 Event analog variation. More...
 
enum class  dnp3::StaticAnalogOutputStatusVariation { dnp3::group40_var1 = 0 , dnp3::group40_var2 = 1 , dnp3::group40_var3 = 2 , dnp3::group40_var4 = 3 }
 Static analog output status variation. More...
 
enum class  dnp3::EventAnalogOutputStatusVariation {
  dnp3::group42_var1 = 0 , dnp3::group42_var2 = 1 , dnp3::group42_var3 = 2 , dnp3::group42_var4 = 3 ,
  dnp3::group42_var5 = 4 , dnp3::group42_var6 = 5 , dnp3::group42_var7 = 6 , dnp3::group42_var8 = 7
}
 Event analog output status variation. More...
 
enum class  dnp3::AttrDefError {
  dnp3::ok = 0 , dnp3::already_defined = 1 , dnp3::reserved_variation = 2 , dnp3::bad_type = 3 ,
  dnp3::not_writable = 4
}
 Errors that can occur when defining attributes. More...
 
enum class  dnp3::RestartDelayType { dnp3::not_supported = 0 , dnp3::seconds = 1 , dnp3::milli_seconds = 2 }
 Type of restart delay value. Used by RestartDelay. More...
 
enum class  dnp3::WriteTimeResult { dnp3::ok = 0 , dnp3::parameter_error = 1 , dnp3::not_supported = 2 }
 Write time result used by OutstationApplication::write_absolute_time() More...
 
enum class  dnp3::FreezeType { dnp3::immediate_freeze = 0 , dnp3::freeze_and_clear = 1 }
 Freeze operation type. More...
 
enum class  dnp3::FreezeResult { dnp3::ok = 0 , dnp3::parameter_error = 1 , dnp3::not_supported = 2 }
 Result of a freeze operation. More...
 
enum class  dnp3::BroadcastAction { dnp3::processed = 0 , dnp3::ignored_by_configuration = 1 , dnp3::bad_object_headers = 2 , dnp3::unsupported_function = 3 }
 Enumeration describing how the outstation processed a broadcast request. More...
 
enum class  dnp3::OperateType { dnp3::select_before_operate = 0 , dnp3::direct_operate = 1 , dnp3::direct_operate_no_ack = 2 }
 Enumeration describing how the master requested the control operation. More...
 
enum class  dnp3::ConnectionState { dnp3::connected = 0 , dnp3::disconnected = 1 }
 Outstation connection state for connection-oriented transports, e.g. TCP. More...
 

Functions

const char * dnp3::to_string (ParamError value)
 convert an instance of enum ParamError into a C-style string More...
 
const char * dnp3::to_string (CommandStatus value)
 convert an instance of enum CommandStatus into a C-style string More...
 
const char * dnp3::to_string (AppDecodeLevel value)
 convert an instance of enum AppDecodeLevel into a C-style string More...
 
const char * dnp3::to_string (TransportDecodeLevel value)
 convert an instance of enum TransportDecodeLevel into a C-style string More...
 
const char * dnp3::to_string (LinkDecodeLevel value)
 convert an instance of enum LinkDecodeLevel into a C-style string More...
 
const char * dnp3::to_string (PhysDecodeLevel value)
 convert an instance of enum PhysDecodeLevel into a C-style string More...
 
const char * dnp3::to_string (TripCloseCode value)
 convert an instance of enum TripCloseCode into a C-style string More...
 
const char * dnp3::to_string (OpType value)
 convert an instance of enum OpType into a C-style string More...
 
const char * dnp3::to_string (TimeQuality value)
 convert an instance of enum TimeQuality into a C-style string More...
 
const char * dnp3::to_string (DoubleBit value)
 convert an instance of enum DoubleBit into a C-style string More...
 
const char * dnp3::to_string (AnalogCommandType value)
 convert an instance of enum AnalogCommandType into a C-style string More...
 
const char * dnp3::to_string (MinTlsVersion value)
 convert an instance of enum MinTlsVersion into a C-style string More...
 
const char * dnp3::to_string (CertificateMode value)
 convert an instance of enum CertificateMode into a C-style string More...
 
const char * dnp3::to_string (VariationListAttr value)
 convert an instance of enum VariationListAttr into a C-style string More...
 
const char * dnp3::to_string (StringAttr value)
 convert an instance of enum StringAttr into a C-style string More...
 
const char * dnp3::to_string (UintAttr value)
 convert an instance of enum UintAttr into a C-style string More...
 
const char * dnp3::to_string (IntAttr value)
 convert an instance of enum IntAttr into a C-style string More...
 
const char * dnp3::to_string (BoolAttr value)
 convert an instance of enum BoolAttr into a C-style string More...
 
const char * dnp3::to_string (TimeAttr value)
 convert an instance of enum TimeAttr into a C-style string More...
 
const char * dnp3::to_string (OctetStringAttr value)
 convert an instance of enum OctetStringAttr into a C-style string More...
 
const char * dnp3::to_string (BitStringAttr value)
 convert an instance of enum BitStringAttr into a C-style string More...
 
const char * dnp3::to_string (FloatAttr value)
 convert an instance of enum FloatAttr into a C-style string More...
 
const char * dnp3::to_string (Nothing value)
 convert an instance of enum Nothing into a C-style string More...
 
const char * dnp3::to_string (PortState value)
 convert an instance of enum PortState into a C-style string More...
 
template<class T >
std::unique_ptr< PortStateListener > dnp3::functional::port_state_listener (const T &lambda)
 construct an implementation of PortStateListener based on a lambda expression More...
 
const char * dnp3::to_string (ClientState value)
 convert an instance of enum ClientState into a C-style string More...
 
template<class T >
std::unique_ptr< ClientStateListener > dnp3::functional::client_state_listener (const T &lambda)
 construct an implementation of ClientStateListener based on a lambda expression More...
 
const char * dnp3::to_string (Variation value)
 convert an instance of enum Variation into a C-style string More...
 
const char * dnp3::to_string (DataBits value)
 convert an instance of enum DataBits into a C-style string More...
 
const char * dnp3::to_string (FlowControl value)
 convert an instance of enum FlowControl into a C-style string More...
 
const char * dnp3::to_string (Parity value)
 convert an instance of enum Parity into a C-style string More...
 
const char * dnp3::to_string (StopBits value)
 convert an instance of enum StopBits into a C-style string More...
 
const char * dnp3::to_string (LinkErrorMode value)
 convert an instance of enum LinkErrorMode into a C-style string More...
 
const char * dnp3::to_string (FunctionCode value)
 convert an instance of enum FunctionCode into a C-style string More...
 
const char * dnp3::to_string (FileType value)
 convert an instance of enum FileType into a C-style string More...
 
const char * dnp3::to_string (FileError value)
 convert an instance of enum FileError into a C-style string More...
 
const char * dnp3::to_string (FileMode value)
 convert an instance of enum FileMode into a C-style string More...
 
const char * dnp3::to_string (UdpSocketMode value)
 convert an instance of enum UdpSocketMode into a C-style string More...
 
const char * dnp3::to_string (LinkReadMode value)
 convert an instance of enum LinkReadMode into a C-style string More...
 
const char * dnp3::to_string (LogLevel value)
 convert an instance of enum LogLevel into a C-style string More...
 
const char * dnp3::to_string (LogOutputFormat value)
 convert an instance of enum LogOutputFormat into a C-style string More...
 
const char * dnp3::to_string (TimeFormat value)
 convert an instance of enum TimeFormat into a C-style string More...
 
template<class T >
std::unique_ptr< Logger > dnp3::functional::logger (const T &lambda)
 construct an implementation of Logger based on a lambda expression More...
 
const char * dnp3::to_string (ResponseFunction value)
 convert an instance of enum ResponseFunction into a C-style string More...
 
const char * dnp3::to_string (QualifierCode value)
 convert an instance of enum QualifierCode into a C-style string More...
 
const char * dnp3::to_string (ReadType value)
 convert an instance of enum ReadType into a C-style string More...
 
const char * dnp3::to_string (EmptyResponseError value)
 convert an instance of enum EmptyResponseError into a C-style string More...
 
const char * dnp3::to_string (AutoTimeSync value)
 convert an instance of enum AutoTimeSync into a C-style string More...
 
template<class T >
std::unique_ptr< AssociationHandler > dnp3::functional::association_handler (const T &lambda)
 construct an implementation of AssociationHandler based on a lambda expression More...
 
const char * dnp3::to_string (TaskType value)
 convert an instance of enum TaskType into a C-style string More...
 
const char * dnp3::to_string (TaskError value)
 convert an instance of enum TaskError into a C-style string More...
 
const char * dnp3::to_string (ReadError value)
 convert an instance of enum ReadError into a C-style string More...
 
const char * dnp3::to_string (CommandMode value)
 convert an instance of enum CommandMode into a C-style string More...
 
const char * dnp3::to_string (CommandError value)
 convert an instance of enum CommandError into a C-style string More...
 
const char * dnp3::to_string (TimeSyncMode value)
 convert an instance of enum TimeSyncMode into a C-style string More...
 
const char * dnp3::to_string (TimeSyncError value)
 convert an instance of enum TimeSyncError into a C-style string More...
 
const char * dnp3::to_string (RestartError value)
 convert an instance of enum RestartError into a C-style string More...
 
const char * dnp3::to_string (LinkStatusError value)
 convert an instance of enum LinkStatusError into a C-style string More...
 
const char * dnp3::to_string (EventClass value)
 convert an instance of enum EventClass into a C-style string More...
 
const char * dnp3::to_string (UpdateResult value)
 convert an instance of enum UpdateResult into a C-style string More...
 
const char * dnp3::to_string (EventMode value)
 convert an instance of enum EventMode into a C-style string More...
 
const char * dnp3::to_string (UpdateFlagsType value)
 convert an instance of enum UpdateFlagsType into a C-style string More...
 
const char * dnp3::to_string (StaticBinaryInputVariation value)
 convert an instance of enum StaticBinaryInputVariation into a C-style string More...
 
const char * dnp3::to_string (EventBinaryInputVariation value)
 convert an instance of enum EventBinaryInputVariation into a C-style string More...
 
const char * dnp3::to_string (StaticDoubleBitBinaryInputVariation value)
 convert an instance of enum StaticDoubleBitBinaryInputVariation into a C-style string More...
 
const char * dnp3::to_string (EventDoubleBitBinaryInputVariation value)
 convert an instance of enum EventDoubleBitBinaryInputVariation into a C-style string More...
 
const char * dnp3::to_string (StaticBinaryOutputStatusVariation value)
 convert an instance of enum StaticBinaryOutputStatusVariation into a C-style string More...
 
const char * dnp3::to_string (EventBinaryOutputStatusVariation value)
 convert an instance of enum EventBinaryOutputStatusVariation into a C-style string More...
 
const char * dnp3::to_string (StaticCounterVariation value)
 convert an instance of enum StaticCounterVariation into a C-style string More...
 
const char * dnp3::to_string (EventCounterVariation value)
 convert an instance of enum EventCounterVariation into a C-style string More...
 
const char * dnp3::to_string (StaticFrozenCounterVariation value)
 convert an instance of enum StaticFrozenCounterVariation into a C-style string More...
 
const char * dnp3::to_string (EventFrozenCounterVariation value)
 convert an instance of enum EventFrozenCounterVariation into a C-style string More...
 
const char * dnp3::to_string (StaticAnalogInputVariation value)
 convert an instance of enum StaticAnalogInputVariation into a C-style string More...
 
const char * dnp3::to_string (EventAnalogInputVariation value)
 convert an instance of enum EventAnalogInputVariation into a C-style string More...
 
const char * dnp3::to_string (StaticAnalogOutputStatusVariation value)
 convert an instance of enum StaticAnalogOutputStatusVariation into a C-style string More...
 
const char * dnp3::to_string (EventAnalogOutputStatusVariation value)
 convert an instance of enum EventAnalogOutputStatusVariation into a C-style string More...
 
const char * dnp3::to_string (AttrDefError value)
 convert an instance of enum AttrDefError into a C-style string More...
 
template<class T >
DatabaseTransactionLambda< T > dnp3::functional::database_transaction (const T &lambda)
 construct an implementation of DatabaseTransaction based on a lambda expression More...
 
const char * dnp3::to_string (RestartDelayType value)
 convert an instance of enum RestartDelayType into a C-style string More...
 
const char * dnp3::to_string (WriteTimeResult value)
 convert an instance of enum WriteTimeResult into a C-style string More...
 
const char * dnp3::to_string (FreezeType value)
 convert an instance of enum FreezeType into a C-style string More...
 
const char * dnp3::to_string (FreezeResult value)
 convert an instance of enum FreezeResult into a C-style string More...
 
const char * dnp3::to_string (BroadcastAction value)
 convert an instance of enum BroadcastAction into a C-style string More...
 
const char * dnp3::to_string (OperateType value)
 convert an instance of enum OperateType into a C-style string More...
 
const char * dnp3::to_string (ConnectionState value)
 convert an instance of enum ConnectionState into a C-style string More...
 
template<class T >
std::unique_ptr< ConnectionStateListener > dnp3::functional::connection_state_listener (const T &lambda)
 construct an implementation of ConnectionStateListener based on a lambda expression More...
 

Variables

constexpr uint64_t dnp3::dnp3_version_major = 1
 major version number More...
 
constexpr uint64_t dnp3::dnp3_version_minor = 6
 minor version number More...
 
constexpr uint64_t dnp3::dnp3_version_patch = 0
 patch version number More...
 
constexpr char const * dnp3::dnp3_version_string = "1.6.0"
 version number as the string major.minor.patch More...
 
constexpr uint8_t dnp3::flag::online = 0x01
 Object value is 'good' / 'valid' / 'nominal'. More...
 
constexpr uint8_t dnp3::flag::restart = 0x02
 Object value has not been updated since device restart. More...
 
constexpr uint8_t dnp3::flag::comm_lost = 0x04
 Object value represents the last value available before a communication failure occurred. Should never be set by originating devices. More...
 
constexpr uint8_t dnp3::flag::remote_forced = 0x08
 Object value is overridden in a downstream reporting device. More...
 
constexpr uint8_t dnp3::flag::local_forced = 0x10
 Object value is overridden by the device reporting this flag. More...
 
constexpr uint8_t dnp3::flag::chatter_filter = 0x20
 Object value is changing state rapidly (device dependent meaning) More...
 
constexpr uint8_t dnp3::flag::over_range = 0x20
 Object's true exceeds the measurement range of the reported variation. More...
 
constexpr uint8_t dnp3::flag::discontinuity = 0x40
 Reported counter value cannot be compared against a prior value to obtain the correct count difference. More...
 
constexpr uint8_t dnp3::flag::reference_err = 0x40
 Object's value might not have the expected level of accuracy. More...
 
constexpr uint8_t dnp3::attribute_variations::config_id = 0xC4
 Configuration id. More...
 
constexpr uint8_t dnp3::attribute_variations::config_version = 0xC5
 Configuration version. More...
 
constexpr uint8_t dnp3::attribute_variations::config_build_date = 0xC6
 Time and date that the outstation's current configuration was built defined. More...
 
constexpr uint8_t dnp3::attribute_variations::config_last_change_date = 0xC7
 Time and date that the outstation's configuration was last modified. More...
 
constexpr uint8_t dnp3::attribute_variations::config_digest = 0xC8
 Digest (aka fingerprint) of the configuration using a CRC, HASH, MAC, or public key signature. More...
 
constexpr uint8_t dnp3::attribute_variations::config_digest_algorithm = 0xC9
 Configuration digest algorithm. More...
 
constexpr uint8_t dnp3::attribute_variations::master_resource_id = 0xCA
 Master resource id (mRID) More...
 
constexpr uint8_t dnp3::attribute_variations::device_location_altitude = 0xCB
 Altitude of the device. More...
 
constexpr uint8_t dnp3::attribute_variations::device_location_longitude = 0xCC
 Longitude of the device from reference meridian (-180.0 to 180.0 deg) More...
 
constexpr uint8_t dnp3::attribute_variations::device_location_latitude = 0xCD
 Latitude of the device from the equator (90.0 to -90.0 deg) More...
 
constexpr uint8_t dnp3::attribute_variations::user_assigned_secondary_operator_name = 0xCE
 User-assigned secondary operator name. More...
 
constexpr uint8_t dnp3::attribute_variations::user_assigned_primary_operator_name = 0xCF
 User-assigned primary operator name. More...
 
constexpr uint8_t dnp3::attribute_variations::user_assigned_system_name = 0xD0
 User-assigned system name. More...
 
constexpr uint8_t dnp3::attribute_variations::secure_auth_version = 0xD1
 Secure authentication version. More...
 
constexpr uint8_t dnp3::attribute_variations::num_security_stats_per_assoc = 0xD2
 Number of security statistics per association. More...
 
constexpr uint8_t dnp3::attribute_variations::user_specific_attributes = 0xD3
 Identification of user-specific attributes. More...
 
constexpr uint8_t dnp3::attribute_variations::num_master_defined_data_set_proto = 0xD4
 Number of master defined data-set prototypes. More...
 
constexpr uint8_t dnp3::attribute_variations::num_outstation_defined_data_set_proto = 0xD5
 Number of outstation defined data-set prototypes. More...
 
constexpr uint8_t dnp3::attribute_variations::num_master_defined_data_sets = 0xD6
 Number of master defined data-sets. More...
 
constexpr uint8_t dnp3::attribute_variations::num_outstation_defined_data_sets = 0xD7
 Number of outstation defined data-sets. More...
 
constexpr uint8_t dnp3::attribute_variations::max_binary_output_per_request = 0xD8
 Maximum number of binary outputs per request. More...
 
constexpr uint8_t dnp3::attribute_variations::local_timing_accuracy = 0xD9
 Local timing accuracy (microseconds) More...
 
constexpr uint8_t dnp3::attribute_variations::duration_of_time_accuracy = 0xDA
 Duration of time accuracy (seconds) More...
 
constexpr uint8_t dnp3::attribute_variations::supports_analog_output_events = 0xDB
 Supports analog output events. More...
 
constexpr uint8_t dnp3::attribute_variations::max_analog_output_index = 0xDC
 Maximum analog output index. More...
 
constexpr uint8_t dnp3::attribute_variations::num_analog_outputs = 0xDD
 Number of analog outputs. More...
 
constexpr uint8_t dnp3::attribute_variations::supports_binary_output_events = 0xDE
 Supports binary output events. More...
 
constexpr uint8_t dnp3::attribute_variations::max_binary_output_index = 0xDF
 Maximum binary output index. More...
 
constexpr uint8_t dnp3::attribute_variations::num_binary_outputs = 0xE0
 Number of binary outputs. More...
 
constexpr uint8_t dnp3::attribute_variations::supports_frozen_counter_events = 0xE1
 Supports frozen counter events. More...
 
constexpr uint8_t dnp3::attribute_variations::supports_frozen_counters = 0xE2
 Supports frozen counters. More...
 
constexpr uint8_t dnp3::attribute_variations::supports_counter_events = 0xE3
 Supports counter events. More...
 
constexpr uint8_t dnp3::attribute_variations::max_counter_index = 0xE4
 Maximum counter point index. More...
 
constexpr uint8_t dnp3::attribute_variations::num_counter = 0xE5
 Number of counter points. More...
 
constexpr uint8_t dnp3::attribute_variations::supports_frozen_analog_inputs = 0xE6
 Supports frozen analog input events. More...
 
constexpr uint8_t dnp3::attribute_variations::supports_analog_input_events = 0xE7
 Supports analog input events. More...
 
constexpr uint8_t dnp3::attribute_variations::max_analog_input_index = 0xE8
 Maximum analog input point index. More...
 
constexpr uint8_t dnp3::attribute_variations::num_analog_input = 0xE9
 Number of analog input points. More...
 
constexpr uint8_t dnp3::attribute_variations::supports_double_bit_binary_input_events = 0xEA
 Supports double-bit binary input events. More...
 
constexpr uint8_t dnp3::attribute_variations::max_double_bit_binary_input_index = 0xEB
 Maximum double-bit binary input point index. More...
 
constexpr uint8_t dnp3::attribute_variations::num_double_bit_binary_input = 0xEC
 Number of double-bit binary input points. More...
 
constexpr uint8_t dnp3::attribute_variations::supports_binary_input_events = 0xED
 Support binary input events. More...
 
constexpr uint8_t dnp3::attribute_variations::max_binary_input_index = 0xEE
 Maximum binary input point index. More...
 
constexpr uint8_t dnp3::attribute_variations::num_binary_input = 0xEF
 Number of binary input points. More...
 
constexpr uint8_t dnp3::attribute_variations::max_tx_fragment_size = 0xF0
 Maximum transmit fragment size. More...
 
constexpr uint8_t dnp3::attribute_variations::max_rx_fragment_size = 0xF1
 Maximum receive fragment size. More...
 
constexpr uint8_t dnp3::attribute_variations::device_manufacturer_software_version = 0xF2
 Device manufacturer software version. More...
 
constexpr uint8_t dnp3::attribute_variations::device_manufacturer_hardware_version = 0xF3
 Device manufacturer hardware version. More...
 
constexpr uint8_t dnp3::attribute_variations::user_assigned_owner_name = 0xF4
 User-assigned owner name. More...
 
constexpr uint8_t dnp3::attribute_variations::user_assigned_location = 0xF5
 User assigned location name. More...
 
constexpr uint8_t dnp3::attribute_variations::user_assigned_id = 0xF6
 User assigned ID code/number. More...
 
constexpr uint8_t dnp3::attribute_variations::user_assigned_device_name = 0xF7
 User assigned device name. More...
 
constexpr uint8_t dnp3::attribute_variations::device_serial_number = 0xF8
 Device serial number. More...
 
constexpr uint8_t dnp3::attribute_variations::device_subset_and_conformance = 0xF9
 DNP3 subset and conformance. More...
 
constexpr uint8_t dnp3::attribute_variations::product_name_and_model = 0xFA
 Device manufacturer's product name and model. More...
 
constexpr uint8_t dnp3::attribute_variations::device_manufacturers_name = 0xFC
 Device manufacturer's name. More...
 
constexpr uint8_t dnp3::attribute_variations::all_attributes_request = 0xFE
 Non-specific all attributes request. More...
 
constexpr uint8_t dnp3::attribute_variations::list_of_variations = 0xFF
 List of attribute variations. More...
 

Detailed Description

C++ API for the dnp3 library