lib60870-C  2.3.2
C source code library for the IEC 60870-5-101/104 protocols
Data Structures | Typedefs | Enumerations | Functions
iec60870_slave.h File Reference

Common slave side definitions for IEC 60870-5-101/104 These types are used by CS101/CS104 slaves. More...

#include <stdint.h>
#include <stdbool.h>
#include "iec60870_common.h"
#include "tls_config.h"
Include dependency graph for iec60870_slave.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  sIMasterConnection
 
struct  sCS101_SlavePlugin
 

Typedefs

typedef struct sIMasterConnectionIMasterConnection
 Interface to send messages to the master (used by slave)
 
typedef struct sCS101_SlavePluginCS101_SlavePlugin
 Plugin interface for CS101 or CS104 slaves.
 
typedef void(* CS101_ResetCUHandler) (void *parameter)
 Handler will be called when a link layer reset CU (communication unit) message is received. More...
 
typedef bool(* CS101_InterrogationHandler) (void *parameter, IMasterConnection connection, CS101_ASDU asdu, uint8_t qoi)
 Handler for interrogation command (C_IC_NA_1 - 100).
 
typedef bool(* CS101_CounterInterrogationHandler) (void *parameter, IMasterConnection connection, CS101_ASDU asdu, QualifierOfCIC qcc)
 Handler for counter interrogation command (C_CI_NA_1 - 101).
 
typedef bool(* CS101_ReadHandler) (void *parameter, IMasterConnection connection, CS101_ASDU asdu, int ioa)
 Handler for read command (C_RD_NA_1 - 102)
 
typedef bool(* CS101_ClockSynchronizationHandler) (void *parameter, IMasterConnection connection, CS101_ASDU asdu, CP56Time2a newTime)
 Handler for clock synchronization command (C_CS_NA_1 - 103) More...
 
typedef bool(* CS101_ResetProcessHandler) (void *parameter, IMasterConnection connection, CS101_ASDU asdu, uint8_t qrp)
 Handler for reset process command (C_RP_NA_1 - 105)
 
typedef bool(* CS101_DelayAcquisitionHandler) (void *parameter, IMasterConnection connection, CS101_ASDU asdu, CP16Time2a delayTime)
 Handler for delay acquisition command (C_CD_NA:1 - 106)
 
typedef bool(* CS101_ASDUHandler) (void *parameter, IMasterConnection connection, CS101_ASDU asdu)
 Handler for ASDUs that are not handled by other handlers (default handler)
 

Enumerations

enum  CS101_SlavePlugin_Result { CS101_PLUGIN_RESULT_NOT_HANDLED = 0 , CS101_PLUGIN_RESULT_HANDLED = 1 , CS101_PLUGIN_RESULT_INVALID_ASDU = 2 }
 

Functions

bool IMasterConnection_isReady (IMasterConnection self)
 
bool IMasterConnection_sendASDU (IMasterConnection self, CS101_ASDU asdu)
 Send an ASDU to the client/master. More...
 
bool IMasterConnection_sendACT_CON (IMasterConnection self, CS101_ASDU asdu, bool negative)
 Send an ACT_CON ASDU to the client/master. More...
 
bool IMasterConnection_sendACT_TERM (IMasterConnection self, CS101_ASDU asdu)
 Send an ACT_TERM ASDU to the client/master. More...
 
int IMasterConnection_getPeerAddress (IMasterConnection self, char *addrBuf, int addrBufSize)
 Get the peer address of the master (only for CS 104) More...
 
void IMasterConnection_close (IMasterConnection self)
 Close the master connection (only for CS 104) More...
 
CS101_AppLayerParameters IMasterConnection_getApplicationLayerParameters (IMasterConnection self)
 Get the application layer parameters used by this connection.
 

Detailed Description

Common slave side definitions for IEC 60870-5-101/104 These types are used by CS101/CS104 slaves.