diff options
| author | Thomas Graf <tgraf@suug.ch> | 2005-06-23 23:59:51 -0400 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2005-06-23 23:59:51 -0400 | 
| commit | 677e90eda3bd8cfde0b748daaa46476162a03950 (patch) | |
| tree | 4b40614cf9cd125883d0430467be9172997ca184 /kernel | |
| parent | 6408f79cce401e1bfecf923e7156f84f96e021e3 (diff) | |
[NET]: Zerocopy sequential reading of skb data
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>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions
