dnp3  0.9.0
Public Attributes | List of all members
dnp3_control_handler_t Struct Reference

Callbacks for handling controls. More...

#include <dnp3.h>

Public Attributes

void(* begin_fragment )(void *)
 Notifies the start of a command fragment. More...
 
void(* end_fragment )(void *)
 Notifies the end of a command fragment. More...
 
dnp3_command_status_t(* select_g12v1 )(dnp3_g12v1_t, uint16_t, dnp3_database_t *, void *)
 Select a CROB, but do not operate. More...
 
dnp3_command_status_t(* operate_g12v1 )(dnp3_g12v1_t, uint16_t, dnp3_operate_type_t, dnp3_database_t *, void *)
 Operate a control point. More...
 
dnp3_command_status_t(* select_g41v1 )(int32_t, uint16_t, dnp3_database_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_t *, void *)
 Operate a control point. More...
 
dnp3_command_status_t(* select_g41v2 )(int16_t, uint16_t, dnp3_database_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_t *, void *)
 Operate a control point. More...
 
dnp3_command_status_t(* select_g41v3 )(float, uint16_t, dnp3_database_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_t *, void *)
 Operate a control point. More...
 
dnp3_command_status_t(* select_g41v4 )(double, uint16_t, dnp3_database_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_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.
 

Detailed Description

Callbacks for handling controls.

Member Data Documentation

◆ begin_fragment

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

Notifies the start of a command fragment.

Parameters
ctxContext data

◆ end_fragment

void(* dnp3_control_handler_t::end_fragment) (void *)

Notifies the end of a command fragment.

Parameters
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_g12v1_t, uint16_t, dnp3_operate_type_t, dnp3_database_t *, void *)

Operate a control point.

Parameters
controlReceived CROB
indexIndex of the point
op_typeOperate type
databaseDatabase
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_t *, void *)

Operate a control point.

Parameters
controlReceived analog output value
indexIndex of the point
op_typeOperate type
databaseDatabase
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_t *, void *)

Operate a control point.

Parameters
valueReceived analog output value
indexIndex of the point
op_typeOperate type
databaseDatabase
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_t *, void *)

Operate a control point.

Parameters
valueReceived analog output value
indexIndex of the point
op_typeOperate type
databaseDatabase
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_t *, void *)

Operate a control point.

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

◆ select_g12v1

dnp3_command_status_t(* dnp3_control_handler_t::select_g12v1) (dnp3_g12v1_t, uint16_t, dnp3_database_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
controlReceived CROB
indexIndex of the point
databaseDatabase
ctxContext data
Returns
Command status

◆ select_g41v1

dnp3_command_status_t(* dnp3_control_handler_t::select_g41v1) (int32_t, uint16_t, dnp3_database_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
controlReceived analog output value
indexIndex of the point
databaseDatabase
ctxContext data
Returns
Command status

◆ select_g41v2

dnp3_command_status_t(* dnp3_control_handler_t::select_g41v2) (int16_t, uint16_t, dnp3_database_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
databaseDatabase
ctxContext data
Returns
Command status

◆ select_g41v3

dnp3_command_status_t(* dnp3_control_handler_t::select_g41v3) (float, uint16_t, dnp3_database_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
databaseDatabase
ctxContext data
Returns
Command status

◆ select_g41v4

dnp3_command_status_t(* dnp3_control_handler_t::select_g41v4) (double, uint16_t, dnp3_database_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
databaseDatabase
ctxContext data
Returns
Command status

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