1 #include <sys/socket.h> 2 #include <limits.h> 3 #include "syscall.h" 4 recvmsg(int fd,struct msghdr * msg,int flags)5ssize_t recvmsg(int fd, struct msghdr *msg, int flags) 6 { 7 ssize_t r; 8 #if LONG_MAX > INT_MAX 9 struct msghdr h, *orig = msg; 10 if (msg) { 11 h = *msg; 12 h.__pad1 = h.__pad2 = 0; 13 msg = &h; 14 } 15 #endif 16 r = socketcall_cp(recvmsg, fd, msg, flags, 0, 0, 0); 17 #if LONG_MAX > INT_MAX 18 if (orig) *orig = h; 19 #endif 20 return r; 21 } 22