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.
34 * ATM system variables
38 #ifndef _NETATM_ATM_VAR_H
39 #define _NETATM_ATM_VAR_H
44 * Global variable declarations
47 #if (defined(__FreeBSD__) && (BSD >= 199506))
48 extern struct pr_usrreqs atm_aal5_usrreqs;
52 extern struct domain atmdomain;
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;
63 extern int atm_intr_index;
65 extern struct atm_sock_stat atm_sock_stat;
67 extern int atm_version;
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;
75 #if (defined(__FreeBSD__) && (BSD >= 199506))
76 extern struct pr_usrreqs atm_dgram_usrreqs;
81 * Global function declarations
84 int atm_aal5_ctloutput __P((struct socket *, struct sockopt *));
85 void atm_aal5_init __P((void));
88 int atm_cm_connect __P((Atm_endpoint *, void *, Atm_attributes *,
90 int atm_cm_listen __P((Atm_endpoint *, void *, Atm_attributes *,
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,
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 *));
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 *));
119 void * atm_dma_map __P((caddr_t, int, int));
120 void atm_dma_free __P((caddr_t, int));
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 *,
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 *));
141 int atm_ifoutput __P((struct ifnet *, KBuffer *,
145 atm_pifname __P((char *));
147 atm_nifname __P((char *));
150 #if (defined(__FreeBSD__) && (BSD >= 199506))
151 int atm_proto_notsupp1 __P((struct socket *));
152 int atm_proto_notsupp2 __P((struct socket *, struct sockaddr *,
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 *));
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)) ));
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 *,
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 *,
181 int atm_sock_getopt __P((struct socket *, struct sockopt *,
183 void atm_sock_connected __P((void *));
184 void atm_sock_cleared __P((void *, struct t_atm_cause *));
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 *));
201 #if (!(defined(__FreeBSD__) && (BSD >= 199506)))
202 int atm_dgram_usrreq __P((struct socket *, int, KBuffer *,
203 KBuffer *, KBuffer *));
206 #endif /* ATM_KERNEL */
208 #endif /* _NETATM_ATM_VAR_H */