From 3ce014732763fd28a7b03d5ce99ec990f830f985 Mon Sep 17 00:00:00 2001
From: cheliequan <liequanche@126.com>
Date: 星期五, 30 十二月 2022 15:59:41 +0800
Subject: [PATCH] 1.客户端支持只获取memfd,只获取数据,同时获取memfd和数据 2.优化代码,所有日志使用mydebug

---
 include/ipc_msg.h |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/include/ipc_msg.h b/include/ipc_msg.h
index 5b489c3..628957b 100644
--- a/include/ipc_msg.h
+++ b/include/ipc_msg.h
@@ -15,8 +15,12 @@
 } while (0)
 
 #define MAX_LEN  4096
-#define HELLO_MSG "hello_basic"
-#define offsetof(TYPE, MEMBER) ((int) &((TYPE *)0)->MEMBER)
+#define GET_MEMFD_MSG "basic_get_memfd"
+#define GET_DATA_MSG "basic_get_data"
+#define GET_CUSTOM_MSG "basic_get_custom"
+
+#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+
 #define container_of(ptr, type, member) ({\
 const typeof(((type *)0)->member) * __mptr = (ptr);\
 (type *)((char *)__mptr - offsetof(type, member)); }
@@ -35,11 +39,27 @@
   char line[MAX_LEN];
 };
 
+typedef int (*wfunc)(struct user_data*, void *arg, int len);
+typedef struct arg_struct {
+    wfunc wfunc;
+    void * args;
+    int len;
+}args_data_st;
+
+typedef struct custom_data{
+    int memfd;
+    void * data;
+    int len;
+}st_custom_data;
+
+
 #define READ_THREAD_NUM  2
 #define WRITE_THREAD_NUM 2
 
-int proc_memfd(struct user_data* rdata);
-int basic_create_ipc_server(char * unix_domain_path);
+int file_exists(char *filename);
+int proc_msg(struct user_data* rdata, void * arg, int len);
+int basic_create_ipc_server(char * unix_domain_path, args_data_st * pargs_data_st);
+int basic_create_ipc_client(char * unix_domain_path, char * send_buf, int send_len, void ** pptr_recv_buf, int *ptr_recv_len);
 
 int  send_fd_sendmsg(int  fd, memfd_data_st** ppmemfd_data);
 

--
Gitblit v1.8.0