0001
0002
0003
0004
0005
0006
0007 #ifndef _ATMCLIP_H
0008 #define _ATMCLIP_H
0009
0010 #include <linux/netdevice.h>
0011 #include <linux/atm.h>
0012 #include <linux/atmdev.h>
0013 #include <linux/atmarp.h>
0014 #include <linux/spinlock.h>
0015 #include <net/neighbour.h>
0016
0017
0018 #define CLIP_VCC(vcc) ((struct clip_vcc *) ((vcc)->user_back))
0019
0020 struct sk_buff;
0021
0022 struct clip_vcc {
0023 struct atm_vcc *vcc;
0024 struct atmarp_entry *entry;
0025
0026 int xoff;
0027 unsigned char encap;
0028 unsigned long last_use;
0029 unsigned long idle_timeout;
0030 void (*old_push)(struct atm_vcc *vcc,struct sk_buff *skb);
0031
0032 void (*old_pop)(struct atm_vcc *vcc,struct sk_buff *skb);
0033
0034 struct clip_vcc *next;
0035 };
0036
0037
0038 struct atmarp_entry {
0039 struct clip_vcc *vccs;
0040
0041 unsigned long expires;
0042 struct neighbour *neigh;
0043 };
0044
0045 #define PRIV(dev) ((struct clip_priv *) netdev_priv(dev))
0046
0047 struct clip_priv {
0048 int number;
0049 spinlock_t xoff_lock;
0050 struct net_device *next;
0051 };
0052
0053 #endif