dnp3 (C API) 1.1.0
dnp3_control_handler_t Struct Reference

Callbacks for handling controls. More...

#include <dnp3.h>

Data Fields

void(* begin_fragment )(void *)
 Notifies the start of a command fragment. More...
 
void(* end_fragment )(dnp3_database_handle_t *, void *)
 Notifies the end of a command fragment. More...
 
dnp3_command_status_t(* select_g12v1 )(dnp3_group12_var1_t, uint16_t, dnp3_database_handle_t *, void *)
 Select a CROB, but do not operate. More...
 
dnp3_command_status_t(* operate_g12v1 )(dnp3_group12_var1_t, uint16_t, dnp3_operate_type_t, dnp3_database_handle_t *, void *)
 Operate a control point. More...
 
dnp3_command_status_t(* select_g41v1 )(int32_t, uint16_t, dnp3_database_handle_t *, void *)
 Select an analog output, but do not operate. More...
 
dnp3_command_status_t(* operate_g41v1 )(int32_t, uint16_t, dnp3_operate_type_t, dnp3_database_handle_t *, void *)
 Operate a control point. More...
 
dnp3_command_status_t(* select_g41v2 )(int16_t, uint16_t, dnp3_database_handle_t *, void *)
 Select an analog output, but do not operate. More...
 
dnp3_command_status_t(* operate_g41v2 )(int16_t, uint16_t, dnp3_operate_type_t, dnp3_database_handle_t *, void *)
 Operate a control point. More...
 
dnp3_command_status_t(* select_g41v3 )(float, uint16_t, dnp3_database_handle_t *, void *)
 Select an analog output, but do not operate. More...
 
dnp3_command_status_t(* operate_g41v3 )(float, uint16_t, dnp3_operate_type_t, dnp3_database_handle_t *, void *)
 Operate a control point. More...
 
dnp3_command_status_t(* select_g41v4 )(double, uint16_t, dnp3_database_handle_t *, void *)
 Select an analog output, but do not operate. More...
 
dnp3_command_status_t(* operate_g41v4 )(double, uint16_t, dnp3_operate_type_t, dnp3_database_handle_t *, void *)
 Operate a control point. 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

Callbacks for handling controls.

Field Documentation

◆ begin_fragment

void(* dnp3_control_handler_t::begin_fragment) (void *)

Notifies the start of a command fragment.

Parameters
ctxContext data

◆ ctx

void* dnp3_control_handler_t::ctx

Context data.

◆ end_fragment

void(* dnp3_control_handler_t::end_fragment) (dnp3_database_handle_t *, void *)

Notifies the end of a command fragment.

Parameters
databaseDatabase handle
ctxContext data

◆ on_destroy

void(* dnp3_control_handler_t::on_destroy) (void *arg)

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

Parameters
argContext data

◆ operate_g12v1

dnp3_command_status_t(* dnp3_control_handler_t::operate_g12v1) (dnp3_group12_var1_t, uint16_t, dnp3_operate_type_t, dnp3_database_handle_t *, void *)

Operate a control point.

Parameters
valueReceived CROB
indexIndex of the point
op_typeOperate type
database_handleDatabase handle
ctxContext data
Returns
Command status

◆ operate_g41v1

dnp3_command_status_t(* dnp3_control_handler_t::operate_g41v1) (int32_t, uint16_t, dnp3_operate_type_t, dnp3_database_handle_t *, void *)

Operate a control point.

Parameters
valueReceived analog output value
indexIndex of the point
op_typeOperate type
database_handleDatabase handle
ctxContext data
Returns
Command status

◆ operate_g41v2

dnp3_command_status_t(* dnp3_control_handler_t::operate_g41v2) (int16_t, uint16_t, dnp3_operate_type_t, dnp3_database_handle_t *, void *)

Operate a control point.

Parameters
valueReceived analog output value
indexIndex of the point
op_typeOperate type
database_handleDatabase handle
ctxContext data
Returns
Command status

◆ operate_g41v3

dnp3_command_status_t(* dnp3_control_handler_t::operate_g41v3) (float, uint16_t, dnp3_operate_type_t, dnp3_database_handle_t *, void *)

Operate a control point.

Parameters
valueReceived analog output value
indexIndex of the point
op_typeOperate type
database_handleDatabase handle
ctxContext data
Returns
Command status

◆ operate_g41v4

dnp3_command_status_t(* dnp3_control_handler_t::operate_g41v4) (double, uint16_t, dnp3_operate_type_t, dnp3_database_handle_t *, void *)

Operate a control point.

Parameters
valueReceived analog output value
indexIndex of the point
op_typeOperate type
database_handleDatabase handle
ctxContext data
Returns
Command status

◆ select_g12v1

dnp3_command_status_t(* dnp3_control_handler_t::select_g12v1) (dnp3_group12_var1_t, uint16_t, dnp3_database_handle_t *, void *)

Select a CROB, but do not operate.

Implementors can think of this function as asking the question "is this control supported"?

Most implementations should not alter the database in this method. It is only provided in the event that some event counters reflected via the API get updated on SELECT, but this would be highly abnormal.

Parameters
valueReceived CROB
indexIndex of the point
database_handleDatabase handle
ctxContext data
Returns
Command status

◆ select_g41v1

dnp3_command_status_t(* dnp3_control_handler_t::select_g41v1) (int32_t, uint16_t, dnp3_database_handle_t *, void *)

Select an analog output, but do not operate.

Implementors can think of this function as asking the question "is this control supported"?

Most implementations should not alter the database in this method. It is only provided in the event that some event counters reflected via the API get updated on SELECT, but this would be highly abnormal.

Parameters
valueReceived analog output value
indexIndex of the point
database_handleDatabase handle
ctxContext data
Returns
Command status

◆ select_g41v2

dnp3_command_status_t(* dnp3_control_handler_t::select_g41v2) (int16_t, uint16_t, dnp3_database_handle_t *, void *)

Select an analog output, but do not operate.

Implementors can think of this function as asking the question "is this control supported"?

Most implementations should not alter the database in this method. It is only provided in the event that some event counters reflected via the API get updated on SELECT, but this would be highly abnormal.

Parameters
valueReceived analog output value
indexIndex of the point
database_handleDatabase handle
ctxContext data
Returns
Command status

◆ select_g41v3

dnp3_command_status_t(* dnp3_control_handler_t::select_g41v3) (float, uint16_t, dnp3_database_handle_t *, void *)

Select an analog output, but do not operate.

Implementors can think of this function as asking the question "is this control supported"?

Most implementations should not alter the database in this method. It is only provided in the event that some event counters reflected via the API get updated on SELECT, but this would be highly abnormal.

Parameters
valueReceived analog output value
indexIndex of the point
database_handleDatabase handle
ctxContext data
Returns
Command status

◆ select_g41v4

dnp3_command_status_t(* dnp3_control_handler_t::select_g41v4) (double, uint16_t, dnp3_database_handle_t *, void *)

Select an analog output, but do not operate.

Implementors can think of this function as asking the question "is this control supported"?

Most implementations should not alter the database in this method. It is only provided in the event that some event counters reflected via the API get updated on SELECT, but this would be highly abnormal.

Parameters
valueReceived analog output value
indexIndex of the point
database_handleDatabase handle
ctxContext data
Returns
Command status

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