1
1
openmpi/opal/win32/ompi_uio.c
Brian Barrett 566a050c23 Next step in the project split, mainly source code re-arranging
- move files out of toplevel include/ and etc/, moving it into the
    sub-projects
  - rather than including config headers with <project>/include, 
    have them as <project>
  - require all headers to be included with a project prefix, with
    the exception of the config headers ({opal,orte,ompi}_config.h
    mpi.h, and mpif.h)

This commit was SVN r8985.
2006-02-12 01:33:29 +00:00

59 строки
1.5 KiB
C

/*
Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
University Research and Technology
Corporation. All rights reserved.
Copyright (c) 2004-2005 The University of Tennessee and The University
of Tennessee Research Foundation. All rights
reserved.
Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
University of Stuttgart. All rights reserved.
Copyright (c) 2004-2005 The Regents of the University of California.
All rights reserved.
$COPYRIGHT$
Additional copyrights may follow
$HEADER$
*/
#include "opal_config.h"
#include "opal/win32/ompi_uio.h"
#include <errno.h>
/*
Highly doubt if the windows sockets ever set errno to EAGAIN. There might
be some weird conversion to map this or I might have to rewrite this piece
of code to handle the windows error flags
*/
OMPI_DECLSPEC int
writev( int fd, struct iovec * iov, int cnt )
{
int err;
DWORD sendlen;
err = WSASend((SOCKET) fd, &(iov->data), cnt, &sendlen, 0, NULL, NULL);
if (err < 0) {
return err;
}
return (int) sendlen;
}
OMPI_DECLSPEC int
readv( int fd, struct iovec * iov, int cnt )
{
int err;
DWORD recvlen = 0;
DWORD flags = 0;
err = WSARecv((SOCKET) fd, &(iov->data), cnt, &recvlen, &flags, NULL, NULL);
if( err < 0 ) {
return err;
}
return (int) recvlen;
}