public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* MSG_MORE socket.h flag
@ 2023-04-02  5:19 Chance
  2023-04-03 10:56 ` Corinna Vinschen
  0 siblings, 1 reply; 4+ messages in thread
From: Chance @ 2023-04-02  5:19 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 446 bytes --]

I've used cygwin in the past few years using the MSG_MORE flag when using
some socket functions but now it's not defined in cygwin\socket.h and
MSG_EOR is using the value of MSG_MORE (0x8000). Above that in the socket.h
file there is a comment /* MSG_EOR is not supported.  We use the
MSG_PARTIAL flag here */. I understand this as meaning MSG_EOR now works as
MSG_MORE would and that MSG_EOR is not usable. Just want some clarification
on this.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: MSG_MORE socket.h flag
  2023-04-02  5:19 MSG_MORE socket.h flag Chance
@ 2023-04-03 10:56 ` Corinna Vinschen
  2023-04-03 16:05   ` Brian Inglis
  0 siblings, 1 reply; 4+ messages in thread
From: Corinna Vinschen @ 2023-04-03 10:56 UTC (permalink / raw)
  To: Chance; +Cc: cygwin

On Apr  2 00:19, Chance via Cygwin wrote:
> I've used cygwin in the past few years using the MSG_MORE flag when using
> some socket functions

I have no idea how you did that.  MSG_MORE was never actually supported
by Cygwin, and the (more or less) equivalent MSG_PARTIAL flag was never
exposed into Cygwin user space.

> but now it's not defined in cygwin\socket.h and

It never was!  I checked the history back until the year 2000.

> MSG_EOR is using the value of MSG_MORE (0x8000). Above that in the socket.h
> file there is a comment /* MSG_EOR is not supported.  We use the
> MSG_PARTIAL flag here */. I understand this as meaning MSG_EOR now works as
> MSG_MORE would and that MSG_EOR is not usable. Just want some clarification
> on this.

It just means we're using the bit value of MSG_PARTIAL to expose
a MSG_EOR flag into user space.  It was introduced in 2019 because
of POSIX header file compatibility, but it's unsupported and always
results in sedn/recv returning EOPNOTSUPP.

I'm still puzzled where you got the MSG_MORE definition from, though.


Corinna

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: MSG_MORE socket.h flag
  2023-04-03 10:56 ` Corinna Vinschen
@ 2023-04-03 16:05   ` Brian Inglis
  2023-04-04 11:24     ` Chance
  0 siblings, 1 reply; 4+ messages in thread
From: Brian Inglis @ 2023-04-03 16:05 UTC (permalink / raw)
  To: cygwin; +Cc: Chance

On 2023-04-03 04:56, Corinna Vinschen via Cygwin wrote:
> On Apr  2 00:19, Chance via Cygwin wrote:
>> I've used cygwin in the past few years using the MSG_MORE flag when using
>> some socket functions
> 
> I have no idea how you did that.  MSG_MORE was never actually supported
> by Cygwin, and the (more or less) equivalent MSG_PARTIAL flag was never
> exposed into Cygwin user space.
> 
>> but now it's not defined in cygwin\socket.h and
> 
> It never was!  I checked the history back until the year 2000.
> 
>> MSG_EOR is using the value of MSG_MORE (0x8000). Above that in the socket.h
>> file there is a comment /* MSG_EOR is not supported.  We use the
>> MSG_PARTIAL flag here */. I understand this as meaning MSG_EOR now works as
>> MSG_MORE would and that MSG_EOR is not usable. Just want some clarification
>> on this.
> 
> It just means we're using the bit value of MSG_PARTIAL to expose
> a MSG_EOR flag into user space.  It was introduced in 2019 because
> of POSIX header file compatibility, but it's unsupported and always
> results in sedn/recv returning EOPNOTSUPP.
> 
> I'm still puzzled where you got the MSG_MORE definition from, though.

Not on BSD likely Linux:

https://github.com/torvalds/linux/blob/master/include/linux/socket.h#L298

check for symlinks on poster's system?

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: MSG_MORE socket.h flag
  2023-04-03 16:05   ` Brian Inglis
@ 2023-04-04 11:24     ` Chance
  0 siblings, 0 replies; 4+ messages in thread
From: Chance @ 2023-04-04 11:24 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 3295 bytes --]

On 2023-04-03 04:56, Corinna Vinschen via Cygwin wrote:
> On Apr  2 00:19, Chance via Cygwin wrote:
>> I've used cygwin in the past few years using the MSG_MORE flag when using
>> some socket functions
>
> I have no idea how you did that.  MSG_MORE was never actually supported
> by Cygwin, and the (more or less) equivalent MSG_PARTIAL flag was never
> exposed into Cygwin user space.
>
>> but now it's not defined in cygwin\socket.h and
>
> It never was!  I checked the history back until the year 2000.
>
>> MSG_EOR is using the value of MSG_MORE (0x8000). Above that in the
socket.h
>> file there is a comment /* MSG_EOR is not supported.  We use the
>> MSG_PARTIAL flag here */. I understand this as meaning MSG_EOR now works
as
>> MSG_MORE would and that MSG_EOR is not usable. Just want some
clarification
>> on this.
>
> It just means we're using the bit value of MSG_PARTIAL to expose
> a MSG_EOR flag into user space.  It was introduced in 2019 because
> of POSIX header file compatibility, but it's unsupported and always
> results in sedn/recv returning EOPNOTSUPP.
>
> I'm still puzzled where you got the MSG_MORE definition from, though

Ah yes, my memory was foggy, but I've recalled now that I did some work
with sockets on a Linux system and had to change this flag in my own source
code when I would work on a cygwin platform. It's been a while; sorry for
the confusement!

On Mon, Apr 3, 2023 at 11:05 AM Brian Inglis <Brian.Inglis@shaw.ca> wrote:

> On 2023-04-03 04:56, Corinna Vinschen via Cygwin wrote:
> > On Apr  2 00:19, Chance via Cygwin wrote:
> >> I've used cygwin in the past few years using the MSG_MORE flag when
> using
> >> some socket functions
> >
> > I have no idea how you did that.  MSG_MORE was never actually supported
> > by Cygwin, and the (more or less) equivalent MSG_PARTIAL flag was never
> > exposed into Cygwin user space.
> >
> >> but now it's not defined in cygwin\socket.h and
> >
> > It never was!  I checked the history back until the year 2000.
> >
> >> MSG_EOR is using the value of MSG_MORE (0x8000). Above that in the
> socket.h
> >> file there is a comment /* MSG_EOR is not supported.  We use the
> >> MSG_PARTIAL flag here */. I understand this as meaning MSG_EOR now
> works as
> >> MSG_MORE would and that MSG_EOR is not usable. Just want some
> clarification
> >> on this.
> >
> > It just means we're using the bit value of MSG_PARTIAL to expose
> > a MSG_EOR flag into user space.  It was introduced in 2019 because
> > of POSIX header file compatibility, but it's unsupported and always
> > results in sedn/recv returning EOPNOTSUPP.
> >
> > I'm still puzzled where you got the MSG_MORE definition from, though.
>
> Not on BSD likely Linux:
>
> https://github.com/torvalds/linux/blob/master/include/linux/socket.h#L298
>
> check for symlinks on poster's system?
>
> --
> Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada
>
> La perfection est atteinte                   Perfection is achieved
> non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to
> add
> mais lorsqu'il n'y a plus rien à retirer     but when there is no more to
> cut
>                                  -- Antoine de Saint-Exupéry
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-04-04 11:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-02  5:19 MSG_MORE socket.h flag Chance
2023-04-03 10:56 ` Corinna Vinschen
2023-04-03 16:05   ` Brian Inglis
2023-04-04 11:24     ` Chance

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).