kernels/linux-2.4.0/include/linux/skbuff.h
/**
 *	skb_push - add data to the start of a buffer
 *	@skb: buffer to use 
 *	@len: amount of data to add
 *
 *	This function extends the used data area of the buffer at the buffer
 *	start. If this would exceed the total buffer headroom the kernel will
 *	panic. A pointer to the first byte of the extra data is returned.
 */
add data to the start of a buffer
@skb: buffer to use
@len: amount of data to add

This function extends the used data area of the buffer at the buffer
start. If this would exceed the total buffer headroom the kernel will
panic. A pointer to the first byte of the extra data is returned.
add data to the start of a buffer @skb : buffer to use @len : amount of data to add This function extends the used data area of the buffer at the buffer start . If this would exceed the total buffer headroom the kernel will panic . A pointer to the first byte of the extra data is returned .
static inline unsigned char *skb_push(struct sk_buff *skb, unsigned int len)
{
	skb->data-=len;
	skb->len+=len;
	if(skb->data<skb->head) {
		skb_under_panic(skb, len, current_text_addr());
	}
	return skb->data;
}
static inline unsigned char * skb_push ( struct sk_buff * skb , unsigned int len ) { skb -> data -= len ; skb -> len += len ; if ( skb -> data < skb -> head ) { skb_under_panic ( skb , len , current_text_addr ( ) ) ; } return skb -> data ; }
skb_push - add data to the start of a buffer
      @skb: buffer to use
      @len: amount of data to add
skb_push - add data to the start of a buffer @skb : buffer to use @len : amount of data to add