libIEC61850  0.8.2
Open-source IEC 61850 MMS/GOOSE server and client library
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Macros | Typedefs | Enumerations | Functions
mms_server.h File Reference
#include "mms_device_model.h"
#include "mms_value.h"
#include "iso_server.h"

Go to the source code of this file.

Classes

struct  MmsServerConnection
 

Macros

#define MMS_LOGICAL_STATE_STATE_CHANGES_ALLOWED   0
 
#define MMS_LOGICAL_STATE_NO_STATE_CHANGES_ALLOWED   1
 
#define MMS_LOGICAL_STATE_LIMITED_SERVICES_PERMITTED   2
 
#define MMS_LOGICAL_STATE_SUPPORT_SERVICES_ALLOWED   3
 
#define MMS_PHYSICAL_STATE_OPERATIONAL   0
 
#define MMS_PHYSICAL_STATE_PARTIALLY_OPERATIONAL   1
 
#define MMS_PHYSICAL_STATE_INOPERATIONAL   2
 
#define MMS_PHYSICAL_STATE_NEEDS_COMMISSIONING   3
 

Typedefs

typedef struct sMmsServer * MmsServer
 
typedef MmsValue *(* MmsReadVariableHandler )(void *parameter, MmsDomain *domain, char *variableId, MmsServerConnection *connection)
 
typedef MmsDataAccessError(* MmsReadAccessHandler )(void *parameter, MmsDomain *domain, char *variableId, MmsServerConnection *connection)
 
typedef MmsDataAccessError(* MmsWriteVariableHandler )(void *parameter, MmsDomain *domain, char *variableId, MmsValue *value, MmsServerConnection *connection)
 
typedef void(* MmsConnectionHandler )(void *parameter, MmsServerConnection *connection, MmsServerEvent event)
 
typedef void(* MmsStatusRequestListener )(void *parameter, MmsServer mmsServer, MmsServerConnection *connection, bool extendedDerivation)
 User provided handler that is invoked on a MMS status request. More...
 

Enumerations

enum  MmsServerEvent { MMS_SERVER_NEW_CONNECTION, MMS_SERVER_CONNECTION_CLOSED }
 

Functions

MmsServer MmsServer_create (IsoServer isoServer, MmsDevice *device)
 
void MmsServer_destroy (MmsServer self)
 
void MmsServer_installReadHandler (MmsServer self, MmsReadVariableHandler, void *parameter)
 
void MmsServer_installReadAccessHandler (MmsServer self, MmsReadAccessHandler, void *parameter)
 
void MmsServer_installWriteHandler (MmsServer self, MmsWriteVariableHandler, void *parameter)
 
void MmsServer_installConnectionHandler (MmsServer self, MmsConnectionHandler, void *parameter)
 
void MmsServer_setClientAuthenticator (MmsServer self, AcseAuthenticator authenticator, void *authenticatorParameter)
 
MmsDeviceMmsServer_getDevice (MmsServer self)
 
MmsValueMmsServer_getValueFromCache (MmsServer self, MmsDomain *domain, char *itemId)
 
bool MmsServer_isLocked (MmsServer self)
 
void MmsServer_lockModel (MmsServer self)
 lock the cached server data model More...
 
void MmsServer_unlockModel (MmsServer self)
 unlock the cached server data model More...
 
void MmsServer_insertIntoCache (MmsServer self, MmsDomain *domain, char *itemId, MmsValue *value)
 
void MmsServer_setDevice (MmsServer self, MmsDevice *device)
 
void MmsServer_startListening (MmsServer self, int tcpPort)
 Start a new server thread and listen for incoming connections. More...
 
void MmsServer_stopListening (MmsServer self)
 Stop server thread an all open connection threads. More...
 
void MmsServer_startListeningThreadless (MmsServer self, int tcpPort)
 Start a new server in non-threaded operation mode. More...
 
int MmsServer_waitReady (MmsServer self, unsigned int timeoutMs)
 Wait for the server to come ready in non-threaded operation mode. More...
 
void MmsServer_handleIncomingMessages (MmsServer self)
 Handle client connections (for non-threaded operation mode) More...
 
void MmsServer_stopListeningThreadless (MmsServer self)
 Stop the server (for non-threaded operation mode) More...
 
void MmsServer_setServerIdentity (MmsServer self, char *vendorName, char *modelName, char *revision)
 set the values that the server will give as response for an MMS identify request More...
 
char * MmsServer_getVendorName (MmsServer self)
 get the vendor name attribute of the VMD identity More...
 
char * MmsServer_getModelName (MmsServer self)
 get the model name attribute of the VMD identity More...
 
char * MmsServer_getRevision (MmsServer self)
 get the revision attribute of the VMD identity More...
 
void MmsServer_setVMDStatus (MmsServer self, int vmdLogicalStatus, int vmdPhysicalStatus)
 set the VMD state values for the VMD status service More...
 
int MmsServer_getVMDLogicalStatus (MmsServer self)
 get the logical status attribute of the VMD More...
 
int MmsServer_getVMDPhysicalStatus (MmsServer self)
 get the physical status attribute of the VMD More...
 
void MmsServer_setStatusRequestListener (MmsServer self, MmsStatusRequestListener listener, void *parameter)
 set the MmsStatusRequestListener for this MmsServer More...