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

CS 104 master side definitions. More...

#include <stdbool.h>
#include <stdint.h>
#include "tls_config.h"
#include "iec60870_master.h"
Include dependency graph for cs104_connection.h:

Go to the source code of this file.

Typedefs

typedef struct sCS104_Connection * CS104_Connection
 
typedef void(* CS104_ConnectionHandler) (void *parameter, CS104_Connection connection, CS104_ConnectionEvent event)
 Handler that is called when the connection is established or closed. More...
 

Enumerations

enum  CS104_ConnectionEvent {
  CS104_CONNECTION_OPENED = 0 , CS104_CONNECTION_CLOSED = 1 , CS104_CONNECTION_STARTDT_CON_RECEIVED = 2 , CS104_CONNECTION_STOPDT_CON_RECEIVED = 3 ,
  CS104_CONNECTION_FAILED = 4
}
 

Functions

CS104_Connection CS104_Connection_create (const char *hostname, int tcpPort)
 Create a new connection object. More...
 
CS104_Connection CS104_Connection_createSecure (const char *hostname, int tcpPort, TLSConfiguration tlsConfig)
 Create a new secure connection object (uses TLS) More...
 
void CS104_Connection_setLocalAddress (CS104_Connection self, const char *localIpAddress, int localPort)
 Set the local IP address and port to be used by the client. More...
 
void CS104_Connection_setAPCIParameters (CS104_Connection self, const CS104_APCIParameters parameters)
 Set the CS104 specific APCI parameters. More...
 
CS104_APCIParameters CS104_Connection_getAPCIParameters (CS104_Connection self)
 Get the currently used CS104 specific APCI parameters.
 
void CS104_Connection_setAppLayerParameters (CS104_Connection self, const CS101_AppLayerParameters parameters)
 Set the CS101 application layer parameters. More...
 
CS101_AppLayerParameters CS104_Connection_getAppLayerParameters (CS104_Connection self)
 Return the currently used application layer parameter. More...
 
void CS104_Connection_setConnectTimeout (CS104_Connection self, int millies)
 Sets the timeout for connecting to the server (in ms) More...
 
void CS104_Connection_connectAsync (CS104_Connection self)
 non-blocking connect. More...
 
bool CS104_Connection_connect (CS104_Connection self)
 blocking connect More...
 
void CS104_Connection_sendStartDT (CS104_Connection self)
 start data transmission on this connection More...
 
void CS104_Connection_sendStopDT (CS104_Connection self)
 stop data transmission on this connection
 
bool CS104_Connection_isTransmitBufferFull (CS104_Connection self)
 Check if the transmit (send) buffer is full. If true the next send command will fail. More...
 
bool CS104_Connection_sendInterrogationCommand (CS104_Connection self, CS101_CauseOfTransmission cot, int ca, QualifierOfInterrogation qoi)
 send an interrogation command More...
 
bool CS104_Connection_sendCounterInterrogationCommand (CS104_Connection self, CS101_CauseOfTransmission cot, int ca, uint8_t qcc)
 send a counter interrogation command More...
 
bool CS104_Connection_sendReadCommand (CS104_Connection self, int ca, int ioa)
 Sends a read command (C_RD_NA_1 typeID: 102) More...
 
bool CS104_Connection_sendClockSyncCommand (CS104_Connection self, int ca, CP56Time2a newTime)
 Sends a clock synchronization command (C_CS_NA_1 typeID: 103) More...
 
bool CS104_Connection_sendTestCommand (CS104_Connection self, int ca)
 Send a test command (C_TS_NA_1 typeID: 104) More...
 
bool CS104_Connection_sendTestCommandWithTimestamp (CS104_Connection self, int ca, uint16_t tsc, CP56Time2a timestamp)
 Send a test command with timestamp (C_TS_TA_1 typeID: 107) More...
 
bool CS104_Connection_sendProcessCommand (CS104_Connection self, TypeID typeId, CS101_CauseOfTransmission cot, int ca, InformationObject command)
 Send a process command to the controlled (or other) station. More...
 
bool CS104_Connection_sendProcessCommandEx (CS104_Connection self, CS101_CauseOfTransmission cot, int ca, InformationObject sc)
 Send a process command to the controlled (or other) station. More...
 
bool CS104_Connection_sendASDU (CS104_Connection self, CS101_ASDU asdu)
 Send a user specified ASDU. More...
 
void CS104_Connection_setASDUReceivedHandler (CS104_Connection self, CS101_ASDUReceivedHandler handler, void *parameter)
 Register a callback handler for received ASDUs. More...
 
void CS104_Connection_setConnectionHandler (CS104_Connection self, CS104_ConnectionHandler handler, void *parameter)
 Set the connection event handler. More...
 
void CS104_Connection_setRawMessageHandler (CS104_Connection self, IEC60870_RawMessageHandler handler, void *parameter)
 Set the raw message callback (called when a message is sent or received) More...
 
void CS104_Connection_close (CS104_Connection self)
 Close the connection.
 
void CS104_Connection_destroy (CS104_Connection self)
 Close the connection and free all related resources.
 

Detailed Description

CS 104 master side definitions.