3 * ===================================
4 * HARP | Host ATM Research Platform
5 * ===================================
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.
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.
21 * Copyright 1994-1998 Network Computing Services, Inc.
23 * Copies of this Software may be made, however, the above copyright
24 * notice must be reproduced on all copies.
26 * @(#) $FreeBSD: src/sys/netatm/atm_var.h,v 1.2 1999/08/28 00:48:39 peter Exp $
27 * @(#) $DragonFly: src/sys/netproto/atm/atm_var.h,v 1.2 2003/06/17 04:28:49 dillon Exp $
35 * ATM system variables
39 #ifndef _NETATM_ATM_VAR_H
40 #define _NETATM_ATM_VAR_H
45 * Global variable declarations
48 #if (defined(__FreeBSD__) && (BSD >= 199506))
49 extern struct pr_usrreqs atm_aal5_usrreqs;
53 extern struct domain atmdomain;
56 extern struct atm_pif *atm_interface_head;
57 extern struct atm_ncm *atm_netconv_head;
58 extern Atm_endpoint *atm_endpoints[];
59 extern struct sp_info *atm_pool_head;
60 extern struct stackq_entry *atm_stackq_head;
61 extern struct stackq_entry *atm_stackq_tail;
62 extern struct ifqueue atm_intrq;
64 extern int atm_intr_index;
66 extern struct atm_sock_stat atm_sock_stat;
68 extern int atm_version;
70 extern struct timeval atm_debugtime;
71 extern int atm_dev_print;
72 extern int atm_print_data;
73 extern struct sp_info atm_attributes_pool;
76 #if (defined(__FreeBSD__) && (BSD >= 199506))
77 extern struct pr_usrreqs atm_dgram_usrreqs;
82 * Global function declarations
85 int atm_aal5_ctloutput __P((struct socket *, struct sockopt *));
86 void atm_aal5_init __P((void));
89 int atm_cm_connect __P((Atm_endpoint *, void *, Atm_attributes *,
91 int atm_cm_listen __P((Atm_endpoint *, void *, Atm_attributes *,
93 int atm_cm_addllc __P((Atm_endpoint *, void *, struct attr_llc *,
94 Atm_connection *, Atm_connection **));
95 int atm_cm_addparty __P((Atm_connection *, int,
97 int atm_cm_dropparty __P((Atm_connection *, int,
98 struct t_atm_cause *));
99 int atm_cm_release __P((Atm_connection *, struct t_atm_cause *));
100 int atm_cm_abort __P((Atm_connvc *, struct t_atm_cause *));
101 int atm_cm_incoming __P((struct vccb *, Atm_attributes *));
102 void atm_cm_connected __P((Atm_connvc *));
103 void atm_cm_cleared __P((Atm_connvc *));
104 Atm_connection *atm_cm_match __P((Atm_attributes *, Atm_connection *));
105 int atm_cm_cpcs_ctl __P((int, Atm_connection *, void *));
106 int atm_cm_cpcs_data __P((Atm_connection *, KBuffer *));
107 int atm_cm_saal_ctl __P((int, Atm_connection *, void *));
108 int atm_cm_saal_data __P((Atm_connection *, KBuffer *));
109 int atm_cm_sscop_ctl __P((int, Atm_connection *, void *, void *));
110 int atm_cm_sscop_data __P((Atm_connection *, KBuffer *));
111 int atm_endpoint_register __P((Atm_endpoint *));
112 int atm_endpoint_deregister __P((Atm_endpoint *));
115 int atm_dev_inst __P((struct stack_defn **, Atm_connvc *));
116 void atm_dev_lower __P((int, void *, int, int));
117 void * atm_dev_alloc __P((u_int, u_int, u_int));
118 void atm_dev_free __P((void *));
120 void * atm_dma_map __P((caddr_t, int, int));
121 void atm_dma_free __P((caddr_t, int));
123 KBuffer * atm_dev_compress __P((KBuffer *));
124 Cmn_vcc * atm_dev_vcc_find __P((Cmn_unit *, u_int, u_int, u_int));
125 void atm_dev_pdu_print __P((Cmn_unit *, Cmn_vcc *, KBuffer *,
129 int atm_physif_register __P((Cmn_unit *, char *,
130 struct stack_defn *));
131 int atm_physif_deregister __P((Cmn_unit *));
132 void atm_physif_freenifs __P((struct atm_pif *));
133 int atm_netconv_register __P((struct atm_ncm *));
134 int atm_netconv_deregister __P((struct atm_ncm *));
135 int atm_nif_attach __P((struct atm_nif *));
136 void atm_nif_detach __P((struct atm_nif *));
137 int atm_nif_setaddr __P((struct atm_nif *, struct ifaddr *));
138 #if (defined(BSD) && (BSD >= 199103))
139 int atm_ifoutput __P((struct ifnet *, KBuffer *,
140 struct sockaddr *, struct rtentry *));
142 int atm_ifoutput __P((struct ifnet *, KBuffer *,
146 atm_pifname __P((char *));
148 atm_nifname __P((char *));
151 #if (defined(__FreeBSD__) && (BSD >= 199506))
152 int atm_proto_notsupp1 __P((struct socket *));
153 int atm_proto_notsupp2 __P((struct socket *, struct sockaddr *,
155 int atm_proto_notsupp3 __P((struct socket *, struct sockaddr **));
156 int atm_proto_notsupp4 __P((struct socket *, int, KBuffer *,
157 struct sockaddr *, KBuffer *, struct proc *));
161 int atm_sigmgr_register __P((struct sigmgr *));
162 int atm_sigmgr_deregister __P((struct sigmgr *));
163 int atm_sigmgr_attach __P((struct atm_pif *, u_char));
164 int atm_sigmgr_detach __P((struct atm_pif *));
165 int atm_stack_register __P((struct stack_defn *));
166 int atm_stack_deregister __P((struct stack_defn *));
167 int atm_create_stack __P((Atm_connvc *, struct stack_list *,
168 void (*)__P((int, void *, int, int)) ));
171 int atm_sock_attach __P((struct socket *, u_long, u_long));
172 int atm_sock_detach __P((struct socket *));
173 int atm_sock_bind __P((struct socket *, struct sockaddr *));
174 int atm_sock_listen __P((struct socket *, Atm_endpoint *));
175 int atm_sock_connect __P((struct socket *, struct sockaddr *,
177 int atm_sock_disconnect __P((struct socket *));
178 int atm_sock_sockaddr __P((struct socket *, struct sockaddr **));
179 int atm_sock_peeraddr __P((struct socket *, struct sockaddr **));
180 int atm_sock_setopt __P((struct socket *, struct sockopt *,
182 int atm_sock_getopt __P((struct socket *, struct sockopt *,
184 void atm_sock_connected __P((void *));
185 void atm_sock_cleared __P((void *, struct t_atm_cause *));
188 void atm_initialize __P((void));
189 void * atm_allocate __P((struct sp_info *));
190 void atm_free __P((void *));
191 void atm_release_pool __P((struct sp_info *));
192 void atm_timeout __P((struct atm_time *, int,
193 void (*) __P((struct atm_time *)) ));
194 int atm_untimeout __P((struct atm_time *));
195 int atm_stack_enq __P((int, void (*) __P((int, void *, int, int)),
196 void *, Atm_connvc *, int, int));
197 void atm_stack_drain __P((void));
198 void atm_intr __P((void));
199 void atm_pdu_print __P((KBuffer *, char *));
202 #if (!(defined(__FreeBSD__) && (BSD >= 199506)))
203 int atm_dgram_usrreq __P((struct socket *, int, KBuffer *,
204 KBuffer *, KBuffer *));
207 #endif /* ATM_KERNEL */
209 #endif /* _NETATM_ATM_VAR_H */