| | |
| | | |
| | | |
| | | #define UNIX_DOMAIN "/tmp/UNIX.domain" |
| | | #define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \ |
| | | } while (0) |
| | | |
| | | #define MAX_LEN 4096 |
| | | #define HELLO_MSG "hello_basic" |
| | |
| | | int len; |
| | | } memfd_data_st; |
| | | |
| | | int send_fd(int fd, memfd_data_st** ppmemfd_data); |
| | | struct user_data |
| | | { |
| | | int fd; |
| | | unsigned int n_size; |
| | | char line[MAX_LEN]; |
| | | }; |
| | | |
| | | #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 send_fd_sendmsg(int fd, memfd_data_st** ppmemfd_data); |
| | | |
| | | /** |
| | | * @brief 发送目标文件描述符 |
| | | * @param fd 传递信息的 UNIX 域 文件描述符 |
| | | * @param fd_to_send 待发送的文件描述符 |
| | | */ |
| | | int send_fd_args(int fd, int fd_to_send, pid_t pid, void **ppdata, int len); |
| | | int send_fd_args_sendmsg(int fd, int fd_to_send, pid_t pid, void **ppdata, int len); |
| | | |
| | | /** |
| | | * @brief 接受文件描述符 |
| | | * @param fd 传递信息的 UNIX 域 文件描述符 |
| | | */ |
| | | int recv_fd(int fd, memfd_data_st** ppmemfd_data); |
| | | int recv_fd_recvmsg(int fd, memfd_data_st** ppmemfd_data); |
| | | |
| | | #ifdef __cplusplus |
| | | } |