Mr IPC
 Alle Datenstrukturen Dateien Funktionen Variablen Aufzählungen Aufzählungswerte Makrodefinitionen Seiten
Datenstrukturen | Makrodefinitionen | Aufzählungen | Funktionen
mr_ipc.h-Dateireferenz
#include <unistd.h>
#include <sys/socket.h>
#include <cs2.h>
#include <mr_cs2ms2.h>

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  IntDatas
 datentyp für Kommandoparameter als Werte Mehr ...
struct  RawDatas
 Datentyp für Kommandoparameter als CAN Daten. Mehr ...
struct  MrIpcCmdType
 Datentype für ein Kommando von/zur drehscheibe. Mehr ...

Makrodefinitionen

#define MR_IPC_RCV_ERROR   -1
#define MR_IPC_RCV_CLOSED   0
#define MR_IPC_RCV_OK   1
#define MR_IPC_SOCKET_ALL   -1
#define MrIpcSetCommand(Dat, c)   (Dat)->Command=htons(c)
 Makros, um Felder im Kommando zu setzen.
#define MrIpcSetSenderSocket(Dat, v)   (Dat)->SenderSocket=v
#define MrIpcSetReceiverSocket(Dat, v)   (Dat)->ReceiverSocket=v
#define MrIpcSetCanResponse(Dat, v)   (Dat)->CanResponse=htons(v)
#define MrIpcSetCanHash(Dat, v)   (Dat)->CanHash=htons(v)
#define MrIpcSetCanCommand(Dat, v)   (Dat)->CanCommand=htons(v)
#define MrIpcSetCanPrio(Dat, v)   (Dat)->CanPrio=htons(v)
#define MrIpcSetIntLp1(Dat, v)   (Dat)->Parms.Ints.Lp1=(unsigned long)htonl(v)
#define MrIpcSetIntIp1(Dat, v)   (Dat)->Parms.Ints.Ip1=htons(v)
#define MrIpcSetIntIp2(Dat, v)   (Dat)->Parms.Ints.Ip2=htons(v)
#define MrIpcSetRawDlc(Dat, v)   (Dat)->Parms.Raws.Dlc=v
#define MrIpcSetRawDataI(Dat, i, v)   (Dat)->Parms.Raws.Data[i]=v
#define MrIpcGetCommand(Dat)   ntohs((Dat)->Command)
 Makros, um Felder aus dem Kommando zu lesen.
#define MrIpcGetSenderSocket(Dat)   (Dat)->SenderSocket
#define MrIpcGetReceiverSocket(Dat)   (Dat)->ReceiverSocket
#define MrIpcGetCanResponse(Dat)   ntohs((Dat)->CanResponse)
#define MrIpcGetCanHash(Dat)   ntohs((Dat)->CanHash)
#define MrIpcGetCanCommand(Dat)   ntohs((Dat)->CanCommand)
#define MrIpcGetCanPrio(Dat)   ntohs((Dat)->CanPrio)
#define MrIpcGetIntLp1(Dat)   (unsigned long)ntohl((Dat)->Parms.Ints.Lp1)
#define MrIpcGetIntIp1(Dat)   ntohs((Dat)->Parms.Ints.Ip1)
#define MrIpcGetIntIp2(Dat)   ntohs((Dat)->Parms.Ints.Ip2)
#define MrIpcGetRawDlc(Dat)   (Dat)->Parms.Raws.Dlc
#define MrIpcGetRawData(Dat)   (Dat)->Parms.Raws.Data
#define MrIpcGetRawDataI(Dat, i)   (Dat)->Parms.Raws.Data[i]
#define MrIpcInternalPollMs2   0x0001
#define MrIpcClose(socket)   close(socket)
 Makros um Funktionen auf andere zu mappen.
#define MrIpcCalcHash(Data, Uid)   MrIpcSetCanHash(Data,Cs2CalcHash(Uid))
#define MrIpcCmdGetRequestMember(Data)
#define MrIpcCmdGetReqestLoclist(Data)
#define MrIpcCmdGetStatusResponse(Data, Addr, Index)   MrIpcCmdGetStatusRequest(Data, Addr, Index)
#define MrIpcCmdGetMesswertResponse(Data, Addr, Kanalnummer, Value)   MrIpcCmdGetConfigResponse(Data, Addr, Kanalnummer, Value)

Aufzählungen

enum  SwitchType { Off, On }
enum  DirectionType { Forward, Backward }
enum  PositionType { Left, Right }
enum  MrIpcCommandValue {
  MrIpcCmdNull, MrIpcCmdRun, MrIpcCmdTrackProto, MrIpcCmdLocomotiveSpeed,
  MrIpcCmdLocomotiveDirection, MrIpcCmdLocomotiveFunction, MrIpcCmdAccSwitch, MrIpcCmdRequestMember,
  MrIpcCmdMember, MrIpcCmdRequestLocName, MrIpcCmdRequestLocInfo, MrIpcCmdRequestFile,
  MrIpcCmdCfgHeader, MrIpcCmdCfgZHeader, MrIpcCmdCfgData, MrIpcCmdCanBootldrGeb,
  MrIpcCmdStatusRequest, MrIpcCmdStatusSize, MrIpcCmdStatusData, MrIpcCmdStatusResponse,
  MrIpcCmdRequestMesswert, MrIpcCmdSetConfig, MrIpcCmdConfigResponse, MrIpcCmdMesswertResponse,
  MrIpcCmdRequestLokListe, MrIpcCmdIntern
}
 Datentyp für die Kommandos von/zur drehscheibe. Mehr ...

Funktionen

MrIpcCmdTypeMrIpcCreate (void)
 IPC Object erzeugen.
void MrIpcDestroy (MrIpcCmdType *Data)
 IPC Object freigeben.
void MrIpcInit (MrIpcCmdType *Data)
 IPC Object initialisieren.
void MrIpcExit (MrIpcCmdType *Data)
 IPC Object deinitialisieren.
int MrIpcConnect (char *Address, int Port)
 Verbindung zur drehscheibe aufbauen.
int MrIpcConnectIf (char *Interface, int Port)
 Verbindung zur drehscheibe aufbauen.
int MrIpcStartServer (char *Adress, int Port)
int MrIpcStartServerIf (char *Interface, int Port)
int MrIpcAccept (int ServerSock)
int MrIpcSend (int socket, MrIpcCmdType *Data)
 IPC Nachricht senden.
int MrIpcRecv (int socket, MrIpcCmdType *Data)
 IPC Nachricht empfangen.
void MrIpcEncodeFromCan (MrIpcCmdType *Data, MrCs2CanDataType *CanMsg)
 IPC aus CAN erzeugen.
void MrIpcDecodeToCan (MrIpcCmdType *Data, MrCs2CanDataType *CanMsg)
 CAN aus IPC erzeugen.
void MrIpcCmdSetNull (MrIpcCmdType *Data, unsigned char Dlc, unsigned char *CanData)
void MrIpcCmdSetRun (MrIpcCmdType *Data, SwitchType Switch)
void MrIpcCmdSetTrackProto (MrIpcCmdType *Data, unsigned Protokoll)
void MrIpcCmdSetLocomotiveSpeed (MrIpcCmdType *Data, unsigned long Addr, unsigned Speed)
void MrIpcCmdSetLocomotiveDir (MrIpcCmdType *Data, unsigned long Addr, DirectionType Direction)
void MrIpcCmdSetLocomotiveFkt (MrIpcCmdType *Data, unsigned long Addr, unsigned Function, SwitchType Switch)
void MrIpcCmdSetAccPos (MrIpcCmdType *Data, unsigned long Addr, PositionType Position, unsigned int Current)
void MrIpcCmdSetRequest (MrIpcCmdType *Data)
void MrIpcCmdSetRequestMember (MrIpcCmdType *Data)
void MrIpcCmdSetMember (MrIpcCmdType *Data, unsigned long Addr, unsigned Version, unsigned Type)
void MrIpcCmdSetReqestLocname (MrIpcCmdType *Data, unsigned StartIdx, unsigned EndIdx)
void MrIpcCmdSetReqestLocinfo (MrIpcCmdType *Data, char *Locname)
void MrIpcCmdSetReqestLoclist (MrIpcCmdType *Data)
void MrIpcCmdSetQuery (MrIpcCmdType *Data, unsigned char Dlc, char *Name)
void MrIpcCmdSetCfgHeader (MrIpcCmdType *Data, unsigned long Length, unsigned Crc)
void MrIpcCmdSetCfgZHeader (MrIpcCmdType *Data, unsigned long Length, unsigned Crc)
void MrIpcCmdSetCfgData (MrIpcCmdType *Data, char *Buf)
void MrIpcCmdSetCanBootldr (MrIpcCmdType *Data, unsigned Dlc, unsigned char *CanData)
void MrIpcCmdSetStatusRequest (MrIpcCmdType *Data, unsigned long Addr, unsigned int Index)
void MrIpcCmdSetStatusPos (MrIpcCmdType *Data, unsigned long Addr, unsigned int Index, unsigned int NumPackets)
void MrIpcCmdSetStatusData (MrIpcCmdType *Data, unsigned char *Buf)
void MrIpcCmdSetStatusResponse (MrIpcCmdType *Data, unsigned long Addr, unsigned int Index)
void MrIpcCmdSetMesswertRequest (MrIpcCmdType *Data, unsigned long Addr, unsigned int Kanalnummer)
void MrIpcCmdSetSetConfig (MrIpcCmdType *Data, unsigned long Addr, unsigned int Kanalnummer, unsigned int Value)
void MrIpcCmdSetConfigResponse (MrIpcCmdType *Data, unsigned long Addr, unsigned int Kanalnummer, unsigned int Response)
void MrIpcCmdGetNull (MrIpcCmdType *Data, unsigned char *Dlc, char *CanData)
void MrIpcCmdGetRun (MrIpcCmdType *Data, SwitchType *Switch)
void MrIpcCmdGetTrackProto (MrIpcCmdType *Data, unsigned *Protokoll)
void MrIpcCmdGetLocomotiveDir (MrIpcCmdType *Data, unsigned long *Addr, DirectionType *Direction)
void MrIpcCmdGetLocomotiveSpeed (MrIpcCmdType *Data, unsigned long *Addr, unsigned *Speed)
void MrIpcCmdGetLocomotiveFkt (MrIpcCmdType *Data, unsigned long *Addr, unsigned *Function, SwitchType *Switch)
void MrIpcCmdGetAccPos (MrIpcCmdType *Data, unsigned long *Addr, PositionType *Position, unsigned int *Current)
void MrIpcCmdGetMember (MrIpcCmdType *Data, unsigned long *Addr, unsigned *Version, unsigned *Type)
void MrIpcCmdGetReqestLocname (MrIpcCmdType *Data, unsigned *StartIdx, unsigned *EndIdx)
void MrIpcCmdGetReqestLocinfo (MrIpcCmdType *Data, char *Locinfo)
void MrIpcCmdGetQuery (MrIpcCmdType *Data, char *Name)
void MrIpcCmdGetCfgHeader (MrIpcCmdType *Data, unsigned long *Length, unsigned *Crc)
void MrIpcCmdGetCfgZHeader (MrIpcCmdType *Data, unsigned long *Length, unsigned *Crc)
void MrIpcCmdGetCfgData (MrIpcCmdType *Data, char *Buf)
void MrIpcCmdGetCanBootldr (MrIpcCmdType *Data, unsigned *Dlc, char *CanData)
void MrIpcCmdGetStatusRequest (MrIpcCmdType *Data, unsigned long *Addr, unsigned int *Index)
void MrIpcCmdGetStatusPos (MrIpcCmdType *Data, unsigned long *Addr, unsigned int *Index, unsigned int *NumPackets)
void MrIpcCmdGetStatusData (MrIpcCmdType *Data, unsigned char *Buf)
void MrIpcCmdGetMesswertRequest (MrIpcCmdType *Data, unsigned long *Addr, unsigned int *Kanalnummer)
void MrIpcCmdGetSetConfig (MrIpcCmdType *Data, unsigned long *Addr, unsigned int *Kanalnummer, unsigned int *Value)
void MrIpcCmdGetConfigResponse (MrIpcCmdType *Data, unsigned long *Addr, unsigned int *Kanalnummer, unsigned int *Response)
void MrIpcCmdSetMesswertResponse (MrIpcCmdType *Data, unsigned long Addr, unsigned int Kanalnummer, unsigned int Response)

Ausführliche Beschreibung

Makro-Dokumentation

#define MR_IPC_RCV_CLOSED   0
#define MR_IPC_RCV_ERROR   -1
#define MR_IPC_RCV_OK   1
#define MR_IPC_SOCKET_ALL   -1

Konstanten für Broadcast als Ziel-/Sendersocket

#define MrIpcCalcHash (   Data,
  Uid 
)    MrIpcSetCanHash(Data,Cs2CalcHash(Uid))
#define MrIpcClose (   socket)    close(socket)

Makros um Funktionen auf andere zu mappen.

#define MrIpcCmdGetMesswertResponse (   Data,
  Addr,
  Kanalnummer,
  Value 
)    MrIpcCmdGetConfigResponse(Data, Addr, Kanalnummer, Value)
#define MrIpcCmdGetReqestLoclist (   Data)
#define MrIpcCmdGetRequestMember (   Data)
#define MrIpcCmdGetStatusResponse (   Data,
  Addr,
  Index 
)    MrIpcCmdGetStatusRequest(Data, Addr, Index)
#define MrIpcGetCanCommand (   Dat)    ntohs((Dat)->CanCommand)
#define MrIpcGetCanHash (   Dat)    ntohs((Dat)->CanHash)
#define MrIpcGetCanPrio (   Dat)    ntohs((Dat)->CanPrio)
#define MrIpcGetCanResponse (   Dat)    ntohs((Dat)->CanResponse)
#define MrIpcGetCommand (   Dat)    ntohs((Dat)->Command)

Makros, um Felder aus dem Kommando zu lesen.

#define MrIpcGetIntIp1 (   Dat)    ntohs((Dat)->Parms.Ints.Ip1)
#define MrIpcGetIntIp2 (   Dat)    ntohs((Dat)->Parms.Ints.Ip2)
#define MrIpcGetIntLp1 (   Dat)    (unsigned long)ntohl((Dat)->Parms.Ints.Lp1)
#define MrIpcGetRawData (   Dat)    (Dat)->Parms.Raws.Data
#define MrIpcGetRawDataI (   Dat,
 
)    (Dat)->Parms.Raws.Data[i]
#define MrIpcGetRawDlc (   Dat)    (Dat)->Parms.Raws.Dlc
#define MrIpcGetReceiverSocket (   Dat)    (Dat)->ReceiverSocket
#define MrIpcGetSenderSocket (   Dat)    (Dat)->SenderSocket
#define MrIpcInternalPollMs2   0x0001
#define MrIpcSetCanCommand (   Dat,
 
)    (Dat)->CanCommand=htons(v)
#define MrIpcSetCanHash (   Dat,
 
)    (Dat)->CanHash=htons(v)
#define MrIpcSetCanPrio (   Dat,
 
)    (Dat)->CanPrio=htons(v)
#define MrIpcSetCanResponse (   Dat,
 
)    (Dat)->CanResponse=htons(v)
#define MrIpcSetCommand (   Dat,
 
)    (Dat)->Command=htons(c)

Makros, um Felder im Kommando zu setzen.

#define MrIpcSetIntIp1 (   Dat,
 
)    (Dat)->Parms.Ints.Ip1=htons(v)
#define MrIpcSetIntIp2 (   Dat,
 
)    (Dat)->Parms.Ints.Ip2=htons(v)
#define MrIpcSetIntLp1 (   Dat,
 
)    (Dat)->Parms.Ints.Lp1=(unsigned long)htonl(v)
#define MrIpcSetRawDataI (   Dat,
  i,
 
)    (Dat)->Parms.Raws.Data[i]=v
#define MrIpcSetRawDlc (   Dat,
 
)    (Dat)->Parms.Raws.Dlc=v
#define MrIpcSetReceiverSocket (   Dat,
 
)    (Dat)->ReceiverSocket=v
#define MrIpcSetSenderSocket (   Dat,
 
)    (Dat)->SenderSocket=v

Dokumentation der Aufzählungstypen

Aufzählungswerte:
Forward 
Backward 

Datentyp für die Kommandos von/zur drehscheibe.

Aufzählungswerte:
MrIpcCmdNull 
MrIpcCmdRun 
MrIpcCmdTrackProto 
MrIpcCmdLocomotiveSpeed 
MrIpcCmdLocomotiveDirection 
MrIpcCmdLocomotiveFunction 
MrIpcCmdAccSwitch 
MrIpcCmdRequestMember 
MrIpcCmdMember 
MrIpcCmdRequestLocName 
MrIpcCmdRequestLocInfo 
MrIpcCmdRequestFile 
MrIpcCmdCfgHeader 
MrIpcCmdCfgZHeader 
MrIpcCmdCfgData 
MrIpcCmdCanBootldrGeb 
MrIpcCmdStatusRequest 
MrIpcCmdStatusSize 
MrIpcCmdStatusData 
MrIpcCmdStatusResponse 
MrIpcCmdRequestMesswert 
MrIpcCmdSetConfig 
MrIpcCmdConfigResponse 
MrIpcCmdMesswertResponse 
MrIpcCmdRequestLokListe 
MrIpcCmdIntern 
Aufzählungswerte:
Left 
Right 
enum SwitchType
Aufzählungswerte:
Off 
On 

Dokumentation der Funktionen

int MrIpcAccept ( int  ServerSock)
void MrIpcCmdGetAccPos ( MrIpcCmdType Data,
unsigned long *  Addr,
PositionType Position,
unsigned int *  Current 
)
void MrIpcCmdGetCanBootldr ( MrIpcCmdType Data,
unsigned *  Dlc,
char *  CanData 
)
void MrIpcCmdGetCfgData ( MrIpcCmdType Data,
char *  Buf 
)
void MrIpcCmdGetCfgHeader ( MrIpcCmdType Data,
unsigned long *  Length,
unsigned *  Crc 
)
void MrIpcCmdGetCfgZHeader ( MrIpcCmdType Data,
unsigned long *  Length,
unsigned *  Crc 
)
void MrIpcCmdGetConfigResponse ( MrIpcCmdType Data,
unsigned long *  Addr,
unsigned int *  Kanalnummer,
unsigned int *  Response 
)
void MrIpcCmdGetLocomotiveDir ( MrIpcCmdType Data,
unsigned long *  Addr,
DirectionType Direction 
)
void MrIpcCmdGetLocomotiveFkt ( MrIpcCmdType Data,
unsigned long *  Addr,
unsigned *  Function,
SwitchType Switch 
)
void MrIpcCmdGetLocomotiveSpeed ( MrIpcCmdType Data,
unsigned long *  Addr,
unsigned *  Speed 
)
void MrIpcCmdGetMember ( MrIpcCmdType Data,
unsigned long *  Addr,
unsigned *  Version,
unsigned *  Type 
)
void MrIpcCmdGetMesswertRequest ( MrIpcCmdType Data,
unsigned long *  Addr,
unsigned int *  Kanalnummer 
)
void MrIpcCmdGetNull ( MrIpcCmdType Data,
unsigned char *  Dlc,
char *  CanData 
)
void MrIpcCmdGetQuery ( MrIpcCmdType Data,
char *  Name 
)
void MrIpcCmdGetReqestLocinfo ( MrIpcCmdType Data,
char *  Locinfo 
)
void MrIpcCmdGetReqestLocname ( MrIpcCmdType Data,
unsigned *  StartIdx,
unsigned *  EndIdx 
)
void MrIpcCmdGetRun ( MrIpcCmdType Data,
SwitchType Switch 
)
void MrIpcCmdGetSetConfig ( MrIpcCmdType Data,
unsigned long *  Addr,
unsigned int *  Kanalnummer,
unsigned int *  Value 
)
void MrIpcCmdGetStatusData ( MrIpcCmdType Data,
unsigned char *  Buf 
)
void MrIpcCmdGetStatusPos ( MrIpcCmdType Data,
unsigned long *  Addr,
unsigned int *  Index,
unsigned int *  NumPackets 
)
void MrIpcCmdGetStatusRequest ( MrIpcCmdType Data,
unsigned long *  Addr,
unsigned int *  Index 
)
void MrIpcCmdGetTrackProto ( MrIpcCmdType Data,
unsigned *  Protokoll 
)
void MrIpcCmdSetAccPos ( MrIpcCmdType Data,
unsigned long  Addr,
PositionType  Position,
unsigned int  Current 
)
void MrIpcCmdSetCanBootldr ( MrIpcCmdType Data,
unsigned  Dlc,
unsigned char *  CanData 
)
void MrIpcCmdSetCfgData ( MrIpcCmdType Data,
char *  Buf 
)
void MrIpcCmdSetCfgHeader ( MrIpcCmdType Data,
unsigned long  Length,
unsigned  Crc 
)
void MrIpcCmdSetCfgZHeader ( MrIpcCmdType Data,
unsigned long  Length,
unsigned  Crc 
)
void MrIpcCmdSetConfigResponse ( MrIpcCmdType Data,
unsigned long  Addr,
unsigned int  Kanalnummer,
unsigned int  Response 
)
void MrIpcCmdSetLocomotiveDir ( MrIpcCmdType Data,
unsigned long  Addr,
DirectionType  Direction 
)
void MrIpcCmdSetLocomotiveFkt ( MrIpcCmdType Data,
unsigned long  Addr,
unsigned  Function,
SwitchType  Switch 
)
void MrIpcCmdSetLocomotiveSpeed ( MrIpcCmdType Data,
unsigned long  Addr,
unsigned  Speed 
)
void MrIpcCmdSetMember ( MrIpcCmdType Data,
unsigned long  Addr,
unsigned  Version,
unsigned  Type 
)
void MrIpcCmdSetMesswertRequest ( MrIpcCmdType Data,
unsigned long  Addr,
unsigned int  Kanalnummer 
)
void MrIpcCmdSetMesswertResponse ( MrIpcCmdType Data,
unsigned long  Addr,
unsigned int  Kanalnummer,
unsigned int  Response 
)
void MrIpcCmdSetNull ( MrIpcCmdType Data,
unsigned char  Dlc,
unsigned char *  CanData 
)
void MrIpcCmdSetQuery ( MrIpcCmdType Data,
unsigned char  Dlc,
char *  Name 
)
void MrIpcCmdSetReqestLocinfo ( MrIpcCmdType Data,
char *  Locname 
)
void MrIpcCmdSetReqestLoclist ( MrIpcCmdType Data)
void MrIpcCmdSetReqestLocname ( MrIpcCmdType Data,
unsigned  StartIdx,
unsigned  EndIdx 
)
void MrIpcCmdSetRequest ( MrIpcCmdType Data)
void MrIpcCmdSetRequestMember ( MrIpcCmdType Data)
void MrIpcCmdSetRun ( MrIpcCmdType Data,
SwitchType  Switch 
)
void MrIpcCmdSetSetConfig ( MrIpcCmdType Data,
unsigned long  Addr,
unsigned int  Kanalnummer,
unsigned int  Value 
)
void MrIpcCmdSetStatusData ( MrIpcCmdType Data,
unsigned char *  Buf 
)
void MrIpcCmdSetStatusPos ( MrIpcCmdType Data,
unsigned long  Addr,
unsigned int  Index,
unsigned int  NumPackets 
)
void MrIpcCmdSetStatusRequest ( MrIpcCmdType Data,
unsigned long  Addr,
unsigned int  Index 
)
void MrIpcCmdSetStatusResponse ( MrIpcCmdType Data,
unsigned long  Addr,
unsigned int  Index 
)
void MrIpcCmdSetTrackProto ( MrIpcCmdType Data,
unsigned  Protokoll 
)
int MrIpcConnect ( char *  IpAddr,
int  Port 
)

Verbindung zur drehscheibe aufbauen.

Diese Funktion stellt eine Verbindung zur drehscheibe her.

Parameter
[in]AddressIP Adresse zur drehscheibe
[in]PortPortnummer der drehscheibe
Rückgabe
Sockert
int MrIpcConnectIf ( char *  Interface,
int  Port 
)

Verbindung zur drehscheibe aufbauen.

Diese Funktion stellt eine Verbindung zur drehscheibe her.

Parameter
[in]InterfaceInterface zur drehscheibe
[in]AddressIP Adresse zur drehscheibe
[in]PortPortnummer der drehscheibe
Rückgabe
Sockert
MrIpcCmdType* MrIpcCreate ( void  )

IPC Object erzeugen.

Die MrIpcCreate Funktion wird als erste Funktion aufgerufen, um die Struktur anzulegen.

Rückgabe
Zeiger auf IPC Struktur
void MrIpcDecodeToCan ( MrIpcCmdType Data,
MrCs2CanDataType *  CanMsg 
)

CAN aus IPC erzeugen.

Diese Funktion decodiert das IPC Paket in eine CanMsg.

Parameter
[in]DataZeiger auf die IPC Struktur
[in]CanMsgCAN Message fü decodiertes IPC Paket
void MrIpcDestroy ( MrIpcCmdType Data)

IPC Object freigeben.

Die MrIpcDestroy Funktion wird als letzte Funktion aufgerufen und gibt die Struktur wieder frei.

Parameter
[in]DataZeiger auf die IPC Struktur
void MrIpcEncodeFromCan ( MrIpcCmdType Data,
MrCs2CanDataType *  CanMsg 
)

IPC aus CAN erzeugen.

Diese Funktion codiert die CanMsg in ein IPC Paket.

Parameter
[in]DataZeiger auf die IPC Struktur
[in]CanMsgzu codierende CAN Message
void MrIpcExit ( MrIpcCmdType Data)

IPC Object deinitialisieren.

Die MrIpcExit Funktion ist das Gegenstück zur MrIpcInit Funktion und beendet die Arbeit mit dem IPC Modul.

Parameter
[in]DataZeiger auf die IPC Struktur
void MrIpcInit ( MrIpcCmdType Data)

IPC Object initialisieren.

Die MrIpcInit Funktion initialisiert die internen Variablen.

Parameter
[in]DataZeiger auf die IPC Struktur
int MrIpcRecv ( int  socket,
MrIpcCmdType Data 
)

IPC Nachricht empfangen.

Diese Funktion empfängt ein IPC Paket

Parameter
[in]socketSocket zur drehscheibe
[in]DataZeiger auf die IPC Struktur
Rückgabe
Fehler oder OK (MR_IPC_RCV_OK, MR_IPC_RCV_ERROR)
int MrIpcSend ( int  socket,
MrIpcCmdType Data 
)

IPC Nachricht senden.

Diese Funktion versendet ein IPC Paket

Parameter
[in]socketSocket zur drehscheibe
[in]DataZeiger auf die IPC Struktur
Rückgabe
Fehler oder OK (MR_IPC_RCV_OK, MR_IPC_RCV_ERROR)
int MrIpcStartServer ( char *  Adress,
int  Port 
)
int MrIpcStartServerIf ( char *  Interface,
int  Port 
)