-#if USE_SKB_PROTOCOL == 0 /* The 1.2.x kernel is here */
-#define dev_alloc_skb(count) alloc_skb(count, GFP_ATOMIC)
-#define skb_put(skb,count) skb_data(skb)
-#define get_long_user(addr) get_user_long((void *) addr)
-#define get_int_user(addr) ((int) get_user_long((void *) addr))
-#define put_byte_user(val,addr) put_fs_byte(val,((u_char *) (addr)))
-#define put_long_user(val,addr) put_fs_long((val),((void *) (addr)))
-
-static unsigned short ppp_dev_type (sk_buff *, struct device *);
-static int ppp_dev_header (unsigned char *buff, struct device *dev,
- unsigned short type, void *daddr, void *saddr,
- unsigned len, struct sk_buff *skb);
-
-#else /* The 1.3.x kernel is here */
-#define get_long_user(addr) get_user(((int *) addr))
-#define get_int_user(addr) ((int) get_user(((int *) addr)))
-#define put_byte_user(val,addr) put_user((val),((u_char *) (addr)))
-#define put_long_user(val,addr) put_user((val),((int *) (addr)))
-
-static int ppp_dev_header (sk_buff *, struct device *, unsigned short,
- void *, void *, unsigned);
-#endif
-
-#ifdef NEW_SKBUFF
-static int ppp_dev_input (struct protocol *self, struct protocol *lower,
- sk_buff *skb, void *saddr, void *daddr);
-static int ppp_dev_output (struct protocol *self, sk_buff *skb, int type,
- int subid, void *saddr, void *daddr, void *opt);
-static int ppp_dev_getkey(int protocol, int subid, unsigned char *key);
-#else
-static int ppp_dev_rebuild (void *, struct device *, unsigned long,
- sk_buff *);
+#if LINUX_VERSION_CODE < VERSION(2,1,15)
+static int ppp_dev_header (sk_buff *, struct device *, __u16,
+ void *, void *, unsigned int);
+static int ppp_dev_rebuild (void *eth, struct device *dev,
+ unsigned long raddr, struct sk_buff *skb);