mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-23 00:00:01 +01:00
This node type allows starting the S2SS server as an asynchronous process from RT-LAB.
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
/** Node type: OPAL (AsyncApi)
|
|
*
|
|
* This file implements the opal subtype for nodes.
|
|
*
|
|
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
|
|
* @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
|
|
*/
|
|
|
|
#ifndef _OPAL_H_
|
|
#define _OPAL_H_
|
|
|
|
/* Define RTLAB before including OpalPrint.h for messages to be sent
|
|
* to the OpalDisplay. Otherwise stdout will be used. */
|
|
#define RTLAB
|
|
#include "OpalPrint.h"
|
|
#include "AsyncApi.h"
|
|
|
|
/* This is just for initializing the shared memory access to communicate
|
|
* with the RT-LAB model. It's easier to remember the arguments like this */
|
|
#define OPAL_ASYNC_SHMEM_NAME argv[1]
|
|
#define OPAL_ASYNC_SHMEM_SIZE atoi(argv[2])
|
|
#define OPAL_PRINT_SHMEM_NAME argv[3]
|
|
|
|
struct opal {
|
|
Opal_GenAsyncParam_Ctrl icon_ctrl;
|
|
|
|
char * async_shmem_name;
|
|
char * print_shmem_name;
|
|
int async_shmem_size;
|
|
};
|
|
|
|
int opal_parse(int argc, char *argv[], struct node *n);
|
|
|
|
int opal_print(struct node *n, char *buf, int len);
|
|
|
|
int opal_open(struct node *n);
|
|
|
|
int opal_close(struct node *n);
|
|
|
|
int opal_read(struct node *n, struct msg *m);
|
|
|
|
int opal_write(struct node *n, struct msg *m);
|
|
|
|
#endif /* _OPAL_H_ */
|