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