-/* Communication structures */
+/**
+ * @file
+ * @brief Communication structures
+ */
+#ifndef LOGLAN_COMM_H
+#define LOGLAN_COMM_H
// REDHAT DEPENDENT !!!
#include <netinet/tcp.h>
typedef char string20[20];
typedef struct {
- int node;
- int pix;
- int mark;
+ int node;
+ int pix;
+ int mark;
} paddr;
-typedef struct
-{
- paddr sender; /* address of the sender and */
- paddr receiver; /* receiver of the message */
- int type; /* message type */
- int par; /* prototype or error signal number */
+typedef struct {
+ paddr sender; /** address of the sender and */
+ paddr receiver; /** receiver of the message */
+ int type; /** message type */
+ int par; /** prototype or error signal number */
} ctrl_msg;
-
-
-typedef struct
-{
- ctrl_msg control;
- char params[ 256-sizeof(ctrl_msg) ];
+typedef struct {
+ ctrl_msg control;
+ char params[256 - sizeof(ctrl_msg)];
} messg;
-
-typedef struct
-{
- int pword[15];
- char pstr[255];
- char pchar;
+typedef struct {
+ int pword[15];
+ char pstr[255];
+ char pchar;
} param_struct;
-
-
-typedef struct
-{
- int node;
- int program_id;
+typedef struct {
+ int node;
+ int program_id;
} ctx_struct;
-/* Commm struct for GRAPH element */
-
-
+/**
+ * \defgroup GRAPH
+ * \brief Comm struct for GRAPH element
+ */
+/** @{ */
#define GRAPH_ALLOCATE 1
#define GRAPH_EXIT 2
#define GRAPH_FREE 3
#define GRAPH_MAGIC 37
#define GRAPH_MAGIC_RESPONSE 38
+/** @} */
-/* INT element */
-
-
-
+/**
+ * \defgroup INT
+ * \brief Comm struct for INT element
+ */
+/** @{ */
#define INT_CONNECTED 1
#define INT_EXITING 2
#define INT_CTX 3
#define INT_CLOSE_INSTANCE 8
#define INT_KILL 9
#define INT_START_OK 10
+/** @} */
-
-
-/* NET element */
-
+/**
+ * \defgroup NET
+ * \brief Comm struct for NET element
+ */
+/** @{ */
#define NET_PROPAGATE 0
#define NET_PROPAGATE_OUT 1
-/* msg_type = MSG_NET, param.pword[0] = NET_PROPAGATE
+/*
+ msg_type = MSG_NET, param.pword[0] = NET_PROPAGATE
param.pword[1] = MSG_INT or MSG_VLP
param.pword[2,3] = sender context or node,0
param.pword[4,5] = receiver context or node,0
#define NET_INFO_END 25
#define NET_NODES_NUM 26
#define NET_NODES_NUM_RESPONSE 27
+/** @} */
-
-/* VLP message */
-
+/**
+ * \defgroup VLP
+ * \brief VLP message
+ */
+/** @{ */
#define VLP_WRITE 0
#define VLP_REMOTE_INSTANCE 1
#define VLP_REMOTE_INSTANCE_OK 2
#define VLP_REMOTE_INSTANCE_HERE 5
#define VLP_CLOSE_INSTANCE 6
#define VLP_INTERPRETER_DOWN 7
-/* ------------------------------------------------------------ */
-/* Message structure */
-/*------------------------------------------------------------*/
-
+/** @} */
+/**
+ * \defgroup VLP
+ * \brief Message structure
+ */
+/** @{ */
#define MSG_VLP 0
#define MSG_NET 1
#define MSG_GRAPH 2
#define MSG_INT 3
-typedef struct
-{
- short msg_type;
- param_struct param;
- messg int_msg;
+typedef struct {
+ short msg_type;
+ param_struct param;
+ messg int_msg;
} MESSAGE;
-typedef struct
-{
- short msg_type;
- param_struct param;
-
+typedef struct {
+ short msg_type;
+ param_struct param;
} G_MESSAGE;
-
-
-
#define TCP_BUFFER_SIZE 30*sizeof(MESSAGE);
+/** @} */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+#endif /* LOGLAN_COMM_H */