aboutsummaryrefslogtreecommitdiffstats
path: root/include/ipc.h
diff options
context:
space:
mode:
authorNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>2021-04-15 11:17:32 +0000
committerNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>2021-04-15 11:17:32 +0000
commit738c1d56adb80ac3623251a47a7c5f2d4db57193 (patch)
treeeba82b97376f605ba4ed92464fceeea71f4045cc /include/ipc.h
Initial commit for AGL cluster ipc library
This source code is AGL instrument cluster common ipc library. Currently, this source code is missing author information, license and other. Will be add by author. Author: Nozomu Abe (nozo_abe@nippon-seiki.co.jp) Committed by Naoto Yamaguchi. Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Diffstat (limited to 'include/ipc.h')
-rw-r--r--include/ipc.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/ipc.h b/include/ipc.h
new file mode 100644
index 0000000..d1bc90d
--- /dev/null
+++ b/include/ipc.h
@@ -0,0 +1,32 @@
+#ifndef IPC_H
+#define IPC_H
+
+#include <ipc_protocol.h>
+
+// Environment Variable for unix-domain-socket file path
+#define IPC_ENV_DOMAIN_SOCKET_PATH "IPC_DOMAIN_PATH"
+
+// return value for API
+typedef enum {
+ IPC_RET_OK = 0,
+ IPC_ERR_PARAM,
+ IPC_ERR_SEQUENCE,
+ IPC_ERR_NO_RESOURCE,
+ IPC_ERR_OTHER
+} IPC_RET_E;
+
+// format of callback function
+typedef void (*IPC_CHANGE_NOTIFY_CB)(void* pData, signed int size, int kind);
+
+// for Server Function
+IPC_RET_E ipcServerStart(IPC_USAGE_TYPE_E usageType);
+IPC_RET_E ipcSendMessage(IPC_USAGE_TYPE_E usageType, const void* pData, signed int size);
+IPC_RET_E ipcServerStop(IPC_USAGE_TYPE_E usageType);
+
+// for Client Function
+IPC_RET_E ipcClientStart(IPC_USAGE_TYPE_E usageType);
+IPC_RET_E ipcReadDataPool(IPC_USAGE_TYPE_E usageType, void* pData, signed int* pSize);
+IPC_RET_E ipcRegisterCallback(IPC_USAGE_TYPE_E usageType, IPC_CHANGE_NOTIFY_CB changeNotifyCb);
+IPC_RET_E ipcClientStop(IPC_USAGE_TYPE_E usageType);
+
+#endif // IPC_H