dnp3 (C API) 1.1.0
dnp3_outstation_application_t Struct Reference

Dynamic information required by the outstation from the user application. More...

#include <dnp3.h>

Data Fields

uint16_t(* get_processing_delay_ms )(void *)
 Returns the DELAY_MEASUREMENT delay. More...
 
dnp3_write_time_result_t(* write_absolute_time )(uint64_t, void *)
 Handle a write of the absolute time during time synchronization procedures. More...
 
dnp3_application_iin_t(* get_application_iin )(void *)
 Returns the application-controlled IIN bits. More...
 
dnp3_restart_delay_t(* cold_restart )(void *)
 Request that the outstation perform a cold restart (IEEE-1815 2012, p. 58) More...
 
dnp3_restart_delay_t(* warm_restart )(void *)
 Request that the outstation perform a warm restart (IEEE-1815 2012, p. 58) More...
 
dnp3_freeze_result_t(* freeze_counters_all )(dnp3_freeze_type_t, dnp3_database_handle_t *, void *)
 Freeze all the counters. More...
 
dnp3_freeze_result_t(* freeze_counters_range )(uint16_t, uint16_t, dnp3_freeze_type_t, dnp3_database_handle_t *, void *)
 Freeze a range of counters. More...
 
void(* on_destroy )(void *arg)
 Callback when the underlying owner doesn't need the interface anymore. More...
 
void * ctx
 Context data. More...
 

Detailed Description

Dynamic information required by the outstation from the user application.

Field Documentation

◆ cold_restart

dnp3_restart_delay_t(* dnp3_outstation_application_t::cold_restart) (void *)

Request that the outstation perform a cold restart (IEEE-1815 2012, p. 58)

The outstation will not automatically restart. It is the responsibility of the user application to handle this request and take the appropriate action.

Parameters
ctxContext data
Returns
The restart delay

◆ ctx

void* dnp3_outstation_application_t::ctx

Context data.

◆ freeze_counters_all

dnp3_freeze_result_t(* dnp3_outstation_application_t::freeze_counters_all) (dnp3_freeze_type_t, dnp3_database_handle_t *, void *)

Freeze all the counters.

Parameters
freeze_typeType of freeze operation
database_handleDatabase handle
ctxContext data
Returns
Result of the freeze operation

◆ freeze_counters_range

dnp3_freeze_result_t(* dnp3_outstation_application_t::freeze_counters_range) (uint16_t, uint16_t, dnp3_freeze_type_t, dnp3_database_handle_t *, void *)

Freeze a range of counters.

Parameters
startStart index to freeze (inclusive)
stopStop index to freeze (inclusive)
freeze_typeType of freeze operation
database_handleDatabase handle
ctxContext data
Returns
Result of the freeze operation

◆ get_application_iin

dnp3_application_iin_t(* dnp3_outstation_application_t::get_application_iin) (void *)

Returns the application-controlled IIN bits.

Parameters
ctxContext data
Returns
Application IIN bits

◆ get_processing_delay_ms

uint16_t(* dnp3_outstation_application_t::get_processing_delay_ms) (void *)

Returns the DELAY_MEASUREMENT delay.

The value returned by this method is used in conjunction with the DELAY_MEASUREMENT function code and returned in a g52v2 time delay object as part of a non-LAN time synchronization procedure.

It represents the processing delay from receiving the request to sending the response. This parameter should almost always use the default value of zero as only an RTOS or bare metal system would have access to this level of timing. Modern hardware can almost always respond in less than 1 millisecond anyway.

For more information, see IEEE-1815 2012, p. 64.

Parameters
ctxContext data
Returns
Processing delay, in milliseconds

◆ on_destroy

void(* dnp3_outstation_application_t::on_destroy) (void *arg)

Callback when the underlying owner doesn't need the interface anymore.

Parameters
argContext data

◆ warm_restart

dnp3_restart_delay_t(* dnp3_outstation_application_t::warm_restart) (void *)

Request that the outstation perform a warm restart (IEEE-1815 2012, p. 58)

The outstation will not automatically restart. It is the responsibility of the user application to handle this request and take the appropriate action.

Parameters
ctxContext data
Returns
The restart delay

◆ write_absolute_time

dnp3_write_time_result_t(* dnp3_outstation_application_t::write_absolute_time) (uint64_t, void *)

Handle a write of the absolute time during time synchronization procedures.

Parameters
timeReceived time in milliseconds since EPOCH (only 48 bits are used)
ctxContext data
Returns
Result of the write time operation

The documentation for this struct was generated from the following file: