From 5d5cb5a2e546b59b25addc1a557cba56638d548a Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 9 Dec 2009 16:51:18 +0000 Subject: [PATCH] Update MIPS bits/socket.h for mmsghdr and recvmmsg. --- ChangeLog.mips | 5 ++++ sysdeps/unix/sysv/linux/mips/bits/socket.h | 27 ++++++++++++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/ChangeLog.mips b/ChangeLog.mips index bbcb223766e..b3125f46d27 100644 --- a/ChangeLog.mips +++ b/ChangeLog.mips @@ -1,3 +1,8 @@ +2009-12-09 Joseph Myers + + * sysdeps/unix/sysv/linux/mips/bits/socket.h: Define mmsghdr and + declare recvmmsg. + 2009-12-01 Joseph Myers * sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list diff --git a/sysdeps/unix/sysv/linux/mips/bits/socket.h b/sysdeps/unix/sysv/linux/mips/bits/socket.h index 58a04099d2f..4899077a961 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/socket.h +++ b/sysdeps/unix/sysv/linux/mips/bits/socket.h @@ -234,8 +234,8 @@ enum #define MSG_MORE MSG_MORE MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file - descriptor received through - SCM_RIGHTS. */ + descriptor received through + SCM_RIGHTS. */ #define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC }; @@ -256,6 +256,15 @@ struct msghdr int msg_flags; /* Flags on received message. */ }; +#ifdef __USE_GNU +/* For `recvmmsg'. */ +struct mmsghdr + { + struct msghdr msg_hdr; /* Actual message header. */ + unsigned int msg_len; /* Number of received bytes for the entry. */ + }; +#endif + /* Structure used for storage of ancillary data object information. */ struct cmsghdr { @@ -397,4 +406,18 @@ struct linger int l_linger; /* Time to linger. */ }; + +__BEGIN_DECLS + +/* Receive a message as described by MESSAGE from socket FD. + Returns the number of bytes read or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int recvmmsg (int __fd, struct mmsghdr *__vmessages, + unsigned int __vlen, int __flags, + __const struct timespec *__tmo); + +__END_DECLS + #endif /* bits/socket.h */ -- 2.47.2