X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvcl%2Fvcom_socket_wrapper.c;h=de633d1cc7b6e230f617b7a1dba57fb04cc6a589;hb=227867f5d3fb1b1dacbaf2f426812417b72ef03a;hp=d73f4b20562e6d4709af477ec22d82c2209610a6;hpb=49806fe252030a4cd993f598ff65a89590d57388;p=vpp.git diff --git a/src/vcl/vcom_socket_wrapper.c b/src/vcl/vcom_socket_wrapper.c index d73f4b20562..de633d1cc7b 100644 --- a/src/vcl/vcom_socket_wrapper.c +++ b/src/vcl/vcom_socket_wrapper.c @@ -212,6 +212,8 @@ typedef int (*__libc_recvmsg) (int sockfd, const struct msghdr * msg, int flags); typedef int (*__libc_send) (int sockfd, const void *buf, size_t len, int flags); +typedef ssize_t (*__libc_sendfile) (int out_fd, int in_fd, off_t * offset, + size_t len); typedef int (*__libc_sendmsg) (int sockfd, const struct msghdr * msg, int flags); typedef int (*__libc_sendto) (int sockfd, const void *buf, size_t len, @@ -314,6 +316,7 @@ struct swrap_libc_symbols SWRAP_SYMBOL_ENTRY (recvfrom); SWRAP_SYMBOL_ENTRY (recvmsg); SWRAP_SYMBOL_ENTRY (send); + SWRAP_SYMBOL_ENTRY (sendfile); SWRAP_SYMBOL_ENTRY (sendmsg); SWRAP_SYMBOL_ENTRY (sendto); SWRAP_SYMBOL_ENTRY (setsockopt); @@ -615,6 +618,7 @@ libc_listen (int sockfd, int backlog) return swrap.libc.symbols._libc_listen.f (sockfd, backlog); } +/* TBD: libc_read() should return ssize_t not an int */ int libc_read (int fd, void *buf, size_t count) { @@ -668,6 +672,14 @@ libc_send (int sockfd, const void *buf, size_t len, int flags) return swrap.libc.symbols._libc_send.f (sockfd, buf, len, flags); } +ssize_t +libc_sendfile (int out_fd, int in_fd, off_t * offset, size_t len) +{ + swrap_bind_symbol_libc (sendfile); + + return swrap.libc.symbols._libc_sendfile.f (out_fd, in_fd, offset, len); +} + int libc_sendmsg (int sockfd, const struct msghdr *msg, int flags) {