• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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