On Apr 24 15:47, Brabant, Edward H CTR (USA) wrote:
1. In cygwin-devel v3.0.2-1, <cygwin/socket.h> does not #define
MSG_EOR. In bash, with CWD=/usr/include, the command "find . -name
'*.h' -exec grep -Hn MSG_EOR {} \;" does not find any matches.
2. The Open Group man page for <sys/socket.h> contains the following
excerpt regarding #define MSG_EOR:
The <sys/socket.h> header shall define the following symbolic
constants with distinct values for use as the valid values for
the msg_flags field in the msghdr structure, or the flags
parameter in recv(), recvfrom(), recvmsg(), send(), sendmsg(), or
sendto() calls:
...
MSG_EOR
Terminates a record (if supported by the protocol).
...
MSG_EOR is not supported by underlying WinSock. There's a similar
MSG_PARTIAL, but it's defined differently. It's also unsupported by
all of the predefined protocols, including UDP.
Since MSG_EOR isn't implemented in the underlying transport layer,
there's no way to implement it in userspace. That's why it's not
defined in Cygwin's headers. If you have an idea how to implement
this in plain userspace, feel free to provide patches.