Re: Finding how much data is available for read from a SOCK_SEQPACKET

Glynn Clements <[email protected]>
Newsgroups org.kernel.vger.linux-c-programming
Message-ID <[email protected]>
Francois Grieu wrote:

> I have a working program that receives blocks of data from a
> SOCK_SEQPACKET using a blocking read(). So far I use a
> fixed-size buffer of the maximum size.
> 
> I would like to query for the size available, malloc a block
> of the appropriate size, then read. Is that feasible?

It doesn't look like it. Unfortunately, ioctl(SIOCINQ) returns the
total number of bytes in all queued incoming packets, not the next
packet.

You could malloc() a maximum size packet then realloc() it once you've
received the data.

-- 
Glynn Clements <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.