[NET]: Zerocopy sequential reading of skb data
authorThomas Graf <tgraf@suug.ch>
Fri, 24 Jun 2005 03:59:51 +0000 (20:59 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Jun 2005 03:59:51 +0000 (20:59 -0700)
Implements sequential reading for both linear and non-linear
skb data at zerocopy cost. The data is returned in chunks of
arbitary length, therefore random access is not possible.

Usage:
from  := 0
to  := 128
state  := undef
data  := undef
len  := undef
consumed := 0

skb_prepare_seq_read(skb, from, to, &state)
while (len = skb_seq_read(consumed, &data, &state)) != 0 do
/* do something with 'data' of length 'len' */
if abort then
/* abort read if we don't wait for
 * skb_seq_read() to return 0 */
skb_abort_seq_read(&state)
return
endif
/* not necessary to consume all of 'len' */
consumed += len
done

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>

No differences found