Import 2.3.17
[davej-history.git] / include / linux / arequipa.h
blob0e58f767c540a66c64adc6d6eed50b2469b7f21f
1 /* arequipa.h - Arequipa interface definitions */
3 /* Written 1996-1998 by Jean-Michel Pittet and Werner Almesberger, EPFL ICA */
6 #ifndef _LINUX_AREQUIPA_H
7 #define _LINUX_AREQUIPA_H
9 #include <linux/atmioc.h>
12 enum arequipa_msg_type { amt_invalid,amt_close,amt_sync };
14 struct arequipa_msg {
15 enum arequipa_msg_type type;
16 void *ptr;
20 #define AREQUIPA_PRESET _IO('a',ATMIOC_AREQUIPA)
21 #define AREQUIPA_INCOMING _IO('a',ATMIOC_AREQUIPA+1)
22 #define AREQUIPA_EXPECT _IO('a',ATMIOC_AREQUIPA+2)
23 #define AREQUIPA_CLOSE _IO('a',ATMIOC_AREQUIPA+3)
24 #define AREQUIPA_CTRL _IO('a',ATMIOC_AREQUIPA+4)
25 /* #define AREQUIPA_CLS3RD removed */
26 #define AREQUIPA_SYNCREQ _IO('a',ATMIOC_AREQUIPA+6)
27 /* #define AREQUIPA_SYNCACK removed */
28 #define AREQUIPA_WORK _IO('a',ATMIOC_AREQUIPA+8)
29 #define AREQUIPA_RENEGOTIATE _IO('a',ATMIOC_AREQUIPA+9)
32 #ifdef __KERNEL__
34 #include <linux/net.h>
35 #include <linux/netdevice.h>
36 #include <linux/inetdevice.h>
37 #include <linux/ip.h>
38 #include <linux/atm.h>
39 #include <net/sock.h>
42 extern struct atm_vcc *aqd; /* for net/atm/proc.c */
43 /* extern struct rtable *arequipa_rt; - not needed; we use a local dcl instead*/
44 extern struct net_device *arequipa_dev;
46 int atm_init_arequipa(void);
47 int arequipa_attach(struct socket *lower,struct sock *upper,
48 unsigned long generation);
50 int arequipa_preset(struct socket *lower,struct sock *upper);
51 int arequipa_expect(struct sock *upper,int on,int kmalloc_flags);
52 int arequipa_incoming(struct socket *lower);
53 int arequipa_close(struct sock *upper);
54 int arequipa_renegotiate(struct sock *upper,struct atm_qos *u_qos);
55 void arequipa_synchronize(void);
56 void arequipa_work(void);
58 int arequipad_attach(struct atm_vcc *vcc);
61 #endif /* __KERNEL__ */
63 #endif