Initial import from FreeBSD RELENG_4:
[dragonfly.git] / sys / netproto / atm / atm_var.h
1 /*
2  *
3  * ===================================
4  * HARP  |  Host ATM Research Platform
5  * ===================================
6  *
7  *
8  * This Host ATM Research Platform ("HARP") file (the "Software") is
9  * made available by Network Computing Services, Inc. ("NetworkCS")
10  * "AS IS".  NetworkCS does not provide maintenance, improvements or
11  * support of any kind.
12  *
13  * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
14  * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
15  * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
16  * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
17  * In no event shall NetworkCS be responsible for any damages, including
18  * but not limited to consequential damages, arising from or relating to
19  * any use of the Software or related support.
20  *
21  * Copyright 1994-1998 Network Computing Services, Inc.
22  *
23  * Copies of this Software may be made, however, the above copyright
24  * notice must be reproduced on all copies.
25  *
26  *      @(#) $FreeBSD: src/sys/netatm/atm_var.h,v 1.2 1999/08/28 00:48:39 peter Exp $
27  *
28  */
29
30 /*
31  * Core ATM Services
32  * -----------------
33  *
34  * ATM system variables
35  *
36  */
37
38 #ifndef _NETATM_ATM_VAR_H
39 #define _NETATM_ATM_VAR_H
40
41
42 #ifdef ATM_KERNEL
43 /*
44  * Global variable declarations
45  */
46         /* atm_aal5.c */
47 #if (defined(__FreeBSD__) && (BSD >= 199506))
48 extern struct pr_usrreqs        atm_aal5_usrreqs;
49 #endif
50
51         /* atm_proto.c */
52 extern struct domain    atmdomain;
53
54         /* atm_subr.c */
55 extern struct atm_pif   *atm_interface_head;
56 extern struct atm_ncm   *atm_netconv_head;
57 extern Atm_endpoint     *atm_endpoints[];
58 extern struct sp_info   *atm_pool_head;
59 extern struct stackq_entry      *atm_stackq_head;
60 extern struct stackq_entry      *atm_stackq_tail;
61 extern struct ifqueue   atm_intrq;
62 #ifdef sgi
63 extern  int             atm_intr_index;
64 #endif
65 extern struct atm_sock_stat     atm_sock_stat;
66 extern int              atm_init;
67 extern int              atm_version;
68 extern int              atm_debug;
69 extern struct timeval   atm_debugtime;
70 extern int              atm_dev_print;
71 extern int              atm_print_data;
72 extern struct sp_info   atm_attributes_pool;
73
74         /* atm_usrreq.c */
75 #if (defined(__FreeBSD__) && (BSD >= 199506))
76 extern struct pr_usrreqs        atm_dgram_usrreqs;
77 #endif
78
79
80 /*
81  * Global function declarations
82  */
83         /* atm_aal5.c */
84 int             atm_aal5_ctloutput __P((struct socket *, struct sockopt *));
85 void            atm_aal5_init __P((void));
86
87         /* atm_cm.c */
88 int             atm_cm_connect __P((Atm_endpoint *, void *, Atm_attributes *,
89                         Atm_connection **));
90 int             atm_cm_listen __P((Atm_endpoint *, void *, Atm_attributes *,
91                         Atm_connection **));
92 int             atm_cm_addllc __P((Atm_endpoint *, void *, struct attr_llc *,
93                         Atm_connection *, Atm_connection **));
94 int             atm_cm_addparty __P((Atm_connection *, int,
95                         struct t_atm_sap *));
96 int             atm_cm_dropparty __P((Atm_connection *, int,
97                         struct t_atm_cause *));
98 int             atm_cm_release __P((Atm_connection *, struct t_atm_cause *));
99 int             atm_cm_abort __P((Atm_connvc *, struct t_atm_cause *));
100 int             atm_cm_incoming __P((struct vccb *, Atm_attributes *));
101 void            atm_cm_connected __P((Atm_connvc *));
102 void            atm_cm_cleared __P((Atm_connvc *));
103 Atm_connection *atm_cm_match __P((Atm_attributes *, Atm_connection *));
104 int             atm_cm_cpcs_ctl __P((int, Atm_connection *, void *));
105 int             atm_cm_cpcs_data __P((Atm_connection *, KBuffer *));
106 int             atm_cm_saal_ctl __P((int, Atm_connection *, void *));
107 int             atm_cm_saal_data __P((Atm_connection *, KBuffer *));
108 int             atm_cm_sscop_ctl __P((int, Atm_connection *, void *, void *));
109 int             atm_cm_sscop_data __P((Atm_connection *, KBuffer *));
110 int             atm_endpoint_register __P((Atm_endpoint *));
111 int             atm_endpoint_deregister __P((Atm_endpoint *));
112
113         /* atm_device.c */
114 int             atm_dev_inst __P((struct stack_defn **, Atm_connvc *));
115 void            atm_dev_lower __P((int, void *, int, int));
116 void *          atm_dev_alloc __P((u_int, u_int, u_int));
117 void            atm_dev_free __P((void *));
118 #if defined(sun4m)
119 void *          atm_dma_map __P((caddr_t, int, int));
120 void            atm_dma_free __P((caddr_t, int));
121 #endif
122 KBuffer *       atm_dev_compress __P((KBuffer *));
123 Cmn_vcc *       atm_dev_vcc_find __P((Cmn_unit *, u_int, u_int, u_int));
124 void            atm_dev_pdu_print __P((Cmn_unit *, Cmn_vcc *, KBuffer *,
125                         char *));
126
127         /* atm_if.c */
128 int             atm_physif_register __P((Cmn_unit *, char *,
129                         struct stack_defn *));
130 int             atm_physif_deregister __P((Cmn_unit *));
131 void            atm_physif_freenifs __P((struct atm_pif *));
132 int             atm_netconv_register __P((struct atm_ncm *));
133 int             atm_netconv_deregister __P((struct atm_ncm *));
134 int             atm_nif_attach __P((struct atm_nif *));
135 void            atm_nif_detach __P((struct atm_nif *));
136 int             atm_nif_setaddr __P((struct atm_nif *, struct ifaddr *));
137 #if (defined(BSD) && (BSD >= 199103))
138 int             atm_ifoutput __P((struct ifnet *, KBuffer *,
139                         struct sockaddr *, struct rtentry *));
140 #else
141 int             atm_ifoutput __P((struct ifnet *, KBuffer *,
142                         struct sockaddr *));
143 #endif
144 struct atm_pif *
145                 atm_pifname __P((char *));
146 struct atm_nif *
147                 atm_nifname __P((char *));
148
149         /* atm_proto.c */
150 #if (defined(__FreeBSD__) && (BSD >= 199506))
151 int             atm_proto_notsupp1 __P((struct socket *));
152 int             atm_proto_notsupp2 __P((struct socket *, struct sockaddr *,
153                         struct proc *));
154 int             atm_proto_notsupp3 __P((struct socket *, struct sockaddr **));
155 int             atm_proto_notsupp4 __P((struct socket *, int, KBuffer *, 
156                         struct sockaddr *, KBuffer *, struct proc *));
157 #endif
158
159         /* atm_signal.c */
160 int             atm_sigmgr_register __P((struct sigmgr *));
161 int             atm_sigmgr_deregister __P((struct sigmgr *));
162 int             atm_sigmgr_attach __P((struct atm_pif *, u_char));
163 int             atm_sigmgr_detach __P((struct atm_pif *));
164 int             atm_stack_register __P((struct stack_defn *));
165 int             atm_stack_deregister __P((struct stack_defn *));
166 int             atm_create_stack __P((Atm_connvc *, struct stack_list *,
167                         void (*)__P((int, void *, int, int)) ));
168
169         /* atm_socket.c */
170 int             atm_sock_attach __P((struct socket *, u_long, u_long));
171 int             atm_sock_detach __P((struct socket *));
172 int             atm_sock_bind __P((struct socket *, struct sockaddr *));
173 int             atm_sock_listen __P((struct socket *, Atm_endpoint *));
174 int             atm_sock_connect __P((struct socket *, struct sockaddr *,
175                         Atm_endpoint *));
176 int             atm_sock_disconnect __P((struct socket *));
177 int             atm_sock_sockaddr __P((struct socket *, struct sockaddr **));
178 int             atm_sock_peeraddr __P((struct socket *, struct sockaddr **));
179 int             atm_sock_setopt __P((struct socket *, struct sockopt *,
180                         Atm_pcb *));
181 int             atm_sock_getopt __P((struct socket *, struct sockopt *,
182                         Atm_pcb *));
183 void            atm_sock_connected __P((void *));
184 void            atm_sock_cleared __P((void *, struct t_atm_cause *));
185
186         /* atm_subr.c */
187 void            atm_initialize __P((void));
188 void *          atm_allocate __P((struct sp_info *));
189 void            atm_free __P((void *));
190 void            atm_release_pool __P((struct sp_info *));
191 void            atm_timeout __P((struct atm_time *, int, 
192                         void (*) __P((struct atm_time *)) ));
193 int             atm_untimeout __P((struct atm_time *));
194 int             atm_stack_enq __P((int, void (*) __P((int, void *, int, int)), 
195                         void *, Atm_connvc *, int, int));
196 void            atm_stack_drain __P((void));
197 void            atm_intr __P((void));
198 void            atm_pdu_print __P((KBuffer *, char *));
199
200         /* atm_usrreq.c */
201 #if (!(defined(__FreeBSD__) && (BSD >= 199506)))
202 int             atm_dgram_usrreq __P((struct socket *, int, KBuffer *,
203                         KBuffer *, KBuffer *));
204 #endif
205
206 #endif  /* ATM_KERNEL */
207
208 #endif  /* _NETATM_ATM_VAR_H */