socket libc backend misses recvmsg()

Alexander Valitov valitov79 at mail.ru
Fri Mar 27 11:44:04 CET 2009


> I believe the problem is a little bit more complicated than that ;-).
> Getting the corresponding IDL right is tricky, so we delayed the
> implementation until needed ...

Are there any chances that the function will be implemented? Any 'when'?
If it's difficult why not to temporarily add recvmsg() that uses recvfrom().
Maybe ignoring msg_control field in msghdr struct. Something like this:

int recvmsg(int s, struct msghdr *msg, int flags)
{
  int i;
  int byteCnt;
  int ret;

  byteCnt = 0;
  for( i = 0 ; i < msg->msg_iovlen ; i++ )
  {
    if( ret = recvfrom( s,
                        msg->msg_iov[i].iov_base,
                        msg->msg_iov[i].iov_len,
                        flags,
                        (struct sockaddr *) msg->msg_name,
                        &(msg->msg_namelen) ) < 0 )
      return byteCnt;
    byteCnt += ret;
  }
  return byteCnt;
}

Best Regards, Alexander Valitov
-- 
View this message in context: http://www.nabble.com/socket-libc-backend-misses-recvmsg%28%29-tp22722460p22739277.html
Sent from the L4 mailing list archive at Nabble.com.





More information about the l4-hackers mailing list