1From d5aca360e7518791d21ca63b44ae2dfaa6c35072 Mon Sep 17 00:00:00 2001 2From: compile_success <980965867@qq.com> 3Date: Mon, 17 Oct 2022 14:18:53 +0000 4Subject: [PATCH] add writev and readv 5 6--- 7 src/api/posix_api.c | 2 ++ 8 src/include/posix_api.h | 2 ++ 9 2 files changed, 4 insertions(+) 10 11diff --git a/src/api/posix_api.c b/src/api/posix_api.c 12index e721381..b7334da 100644 13--- a/src/api/posix_api.c 14+++ b/src/api/posix_api.c 15@@ -93,7 +93,9 @@ int posix_api_init(void) 16 CHECK_DLSYM_RET_RETURN(posix_api->shutdown_fn = dlsym(handle, "shutdown")); 17 CHECK_DLSYM_RET_RETURN(posix_api->close_fn = dlsym(handle, "close")); 18 CHECK_DLSYM_RET_RETURN(posix_api->read_fn = dlsym(handle, "read")); 19+ CHECK_DLSYM_RET_RETURN(posix_api->readv_fn = dlsym(handle, "readv")); 20 CHECK_DLSYM_RET_RETURN(posix_api->write_fn = dlsym(handle, "write")); 21+ CHECK_DLSYM_RET_RETURN(posix_api->writev_fn = dlsym(handle, "writev")); 22 CHECK_DLSYM_RET_RETURN(posix_api->recv_fn = dlsym(handle, "recv")); 23 CHECK_DLSYM_RET_RETURN(posix_api->send_fn = dlsym(handle, "send")); 24 CHECK_DLSYM_RET_RETURN(posix_api->recv_msg = dlsym(handle, "recvmsg")); 25diff --git a/src/include/posix_api.h b/src/include/posix_api.h 26index e958ded..a73e2ec 100644 27--- a/src/include/posix_api.h 28+++ b/src/include/posix_api.h 29@@ -54,7 +54,9 @@ typedef struct { 30 int (*close_fn)(int fd); 31 pid_t (*fork_fn)(void); 32 ssize_t (*read_fn)(int fd, void *mem, size_t len); 33+ ssize_t (*readv_fn)(int s, const struct iovec *iov, int iovcnt); 34 ssize_t (*write_fn)(int fd, const void *data, size_t len); 35+ ssize_t (*writev_fn)(int s, const struct iovec *iov, int iovcnt); 36 ssize_t (*recv_fn)(int sockfd, void *buf, size_t len, int flags); 37 ssize_t (*send_fn)(int sockfd, const void *buf, size_t len, int flags); 38 ssize_t (*recv_msg)(int sockfd, const struct msghdr *msg, int flags); 39-- 402.33.0 41 42