sendmmsg for MIPS.

This commit is contained in:
Joseph Myers 2011-06-20 19:35:31 +00:00
parent 45c99e6495
commit 6cc02c7aae
4 changed files with 46 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2011-06-20 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/mips/mips32/sendmmsg.c,
sysdeps/unix/sysv/linux/mips/mips32/internal_sendmmsg.S: New.
2011-06-20 Joseph Myers <joseph@codesourcery.com> 2011-06-20 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/mips/bits/siginfo.h (SI_USER): Don't * sysdeps/unix/sysv/linux/mips/bits/siginfo.h (SI_USER): Don't

View File

@ -415,7 +415,7 @@ struct linger
__BEGIN_DECLS __BEGIN_DECLS
/* Receive a message as described by MESSAGE from socket FD. /* Receive up to VLEN messages as described by VMESSAGES from socket FD.
Returns the number of bytes read or -1 for errors. Returns the number of bytes read or -1 for errors.
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
@ -424,6 +424,13 @@ extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
unsigned int __vlen, int __flags, unsigned int __vlen, int __flags,
__const struct timespec *__tmo); __const struct timespec *__tmo);
/* Send a VLEN messages as described by VMESSAGES to socket FD.
Return the number of datagrams successfully written or -1 for errors.
This function is a cancellation point and therefore not marked with
__THROW. */
extern int sendmmsg (int __fd, struct mmsghdr *__vmessages,
unsigned int __vlen, int __flags);
__END_DECLS __END_DECLS
#endif /* bits/socket.h */ #endif /* bits/socket.h */

View File

@ -0,0 +1,2 @@
/* MIPS does not have socket.S and the socketcall syscall should
generally be avoided, though it exists. */

View File

@ -0,0 +1,31 @@
/* Copyright (C) 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* Avoid sendmmsg.c trying to use a definition based on the socketcall
syscall and internal_sendmmsg.S. */
#include <errno.h>
#include <sys/socket.h>
#include <sysdep-cancel.h>
#include <sys/syscall.h>
#include <kernel-features.h>
#undef __NR_socketcall
#include <sysdeps/unix/sysv/linux/sendmmsg.c>