-#ifdef NEW_SKBUFF
-/*
- * The PPP protocol is currently pure IP (no IPX yet). This defines
- * the protocol layer which is blank since the driver does all the
- * cooking.
- */
-
-static int ppp_dev_input (struct protocol *self, struct protocol *lower,
- sk_buff *skb, void *saddr, void *daddr)
-{
- return protocol_pass_demultiplex(self, NULL, skb, NULL, NULL);
-}
-
-static int ppp_dev_output (struct protocol *self, sk_buff *skb, int type,
- int subid, void *saddr, void *daddr, void *opt)
-{
- if(skb->dev==NULL)
- {
- printk("ppp_dev_output: No device.\n");
- kfree_skb(skb, FREE_WRITE);
- return -1;
- }
- dev_queue_xmit(skb, skb->dev, skb->priority);
- return 0;
-}
-
-static int ppp_dev_getkey(int protocol, int subid, unsigned char *key)
-{
- switch (protocol)
- {
- case htons (ETH_P_IP):
- case htons (ETH_P_IPX):
- return 0;
-
- default:
- break;
- }
-
- return -EAFNOSUPPORT;
-}
-
-#else
-
-/*
- * Called to enquire about the type of the frame in the buffer. Return
- * ETH_P_IP for an IP frame, ETH_P_IPX for an IPX frame.
- */
-
-static unsigned short
-ppp_dev_type (sk_buff *skb, struct device *dev)
-{
- return (htons (ETH_P_IP));
-}
-
-static int
-ppp_dev_header (u_char * buff, struct device *dev, unsigned short type,
- void *daddr, void *saddr, unsigned len, sk_buff *skb)
+static int ppp_dev_header (sk_buff *skb, struct device *dev,
+ __u16 type, void *daddr,
+ void *saddr, unsigned int len)