diff options
Diffstat (limited to 'upstream/mageia-cauldron/man9/skb_insert.9')
-rw-r--r-- | upstream/mageia-cauldron/man9/skb_insert.9 | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man9/skb_insert.9 b/upstream/mageia-cauldron/man9/skb_insert.9 new file mode 100644 index 00000000..b4af6ecb --- /dev/null +++ b/upstream/mageia-cauldron/man9/skb_insert.9 @@ -0,0 +1,81 @@ +.\" -*- nroff -*- +.\" +.\" copyright (C) 1997 Cyrus Durgin <cider@speakeasy.org> +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.TH SKB_INSERT 9 "November 24, 1997" "Linux DDI" "Networking Functions" +.hlm 0 +.na +.SH NAME +__skb_insert, skb_insert, skb_append \- insert an sk_buff into a list +.SH SYNOPSIS +.B #include <linux/skbuff.h> +.HP +.BI "void __skb_insert(struct sk_buff " *newsk ", struct sk_buff " *prev ", struct sk_buff " *next ", struct sk_buff_head " *list ")" +.TP +.BI "void skb_insert(struct sk_buff " *old ", struct sk_buff " *newsk ")" +.TP +.BI "void skb_append(struct sk_buff " *old ", struct sk_buff " *newsk ")" +.hlm 1 +.ad +.SH DESCRIPTION +\fBskb_insert\fP and \fBskb_append\fP are essentially wrapper functions for +\fB__skb_insert\fP (see \fBNOTES\fP, below.) \fB__skb_insert\fP inserts +\fInewsk\fP into \fIlist\fP, and resets the appropriate next and prev +pointers. \fIprev\fP and \fInext\fP are used to frame \fInewsk\fP in +\fIlist\fP. After setting the next and prev pointers in \fInewsk\fP, +\fB__skb_insert\fP sets the prev pointer in \fInext\fP and the next pointer +in \fIprev\fP, sets the list pointer in \fInewsk\fP, and increments the qlen +counter in \fIlist\fP. + +\fBskb_insert\fP and \fBskb_append\fP should be used to add sk_buffs +to a list rather than performing this task manually; in addition to +performing this task in a standardized way, these functions also provide +for interrupt diasabling and prevent list mangling. Both of these +functions use the list pointer in \fIold\fP to determine to which list +\fInewsk\fP should be attached. + +The \fBskb_insert\fP function adds \fInewsk\fP to the list before \fIold\fP. + +The \fBskb_append\fP function adds \fInewsk\fP to the list after \fIold\fP. +.SH "RETURN VALUE" +None. +.SH NOTES +It is important to note the difference between not only \fBskb_insert\fP, +\fBskb_append\fP and \fB__skb_insert\fP, but all the \fB__skb_\fP functions +and their \fBskb_\fP counterparts. Essentially, the \fB__skb_\fP functions +are non-atomic, and should only be used with interrupts disabled. As a +convenience, the \fBskb_\fP functions are provided, which perform interrupt +disable / enable wrapper functionality in addition to performing their specific +tasks. +.SH AVAILABILITY +Linux 1.0+ +.SH "SEE ALSO" +.hlm 0 +.na +.BR intro "(9), " skb_queue_head "(9), " skb_queue_tail "(9)" +.ad +.hlm 1 +.PP +/usr/src/linux/net/ax25/af_ax25.c /usr/src/linux/net/core/skbuff.c /usr/src/linux/net/ipv4/tcp_input.c /usr/src/linux/net/netrom/nr_in.c +.SH AUTHOR +Cyrus Durgin <cider@speakeasy.org> |