]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/net/bsd_tcpip/v2_0/include/sys/param.h
unified MX27, MX25, MX37 trees
[karo-tx-redboot.git] / packages / net / bsd_tcpip / v2_0 / include / sys / param.h
1 //==========================================================================
2 //
3 //      include/sys/param.h
4 //
5 //==========================================================================
6 //####BSDCOPYRIGHTBEGIN####
7 //
8 // -------------------------------------------
9 //
10 // Portions of this software may have been derived from OpenBSD, 
11 // FreeBSD or other sources, and are covered by the appropriate
12 // copyright disclaimers included herein.
13 //
14 // Portions created by Red Hat are
15 // Copyright (C) 2002 Red Hat, Inc. All Rights Reserved.
16 //
17 // -------------------------------------------
18 //
19 //####BSDCOPYRIGHTEND####
20 //==========================================================================
21
22 #ifndef _SYS_PARAM_H_
23 #define _SYS_PARAM_H_
24
25 #ifndef __ECOS
26 #define __ECOS
27 #endif
28
29 #ifdef _KERNEL
30 // Namespace munging - this should keep the "kernel" namespace
31 // polution to a minimum
32
33 // TEXT symbols
34 #define MD5Final cyg_MD5Final
35 #define MD5Init cyg_MD5Init
36 #define MD5Pad cyg_MD5Pad
37 #define MD5Transform cyg_MD5Transform
38 #define MD5Update cyg_MD5Update
39 #define _ip_mcast_src cyg__ip_mcast_src
40 #define _ip_mforward cyg__ip_mforward
41 #define _ip_mrouter_done cyg__ip_mrouter_done
42 #define _ip_mrouter_get cyg__ip_mrouter_get
43 #define _ip_mrouter_set cyg__ip_mrouter_set
44 #define _mrt_ioctl cyg__mrt_ioctl
45 #define addrsel_policy_init cyg_addrsel_policy_init
46 #define arc4random cyg_arc4random
47 #define random cyg_arc4random
48 #define arp_ifinit cyg_arp_ifinit
49 #define arpresolve cyg_arpresolve
50 #define asr_default__15Cyg_SchedThreadUi cyg_asr_default__15Cyg_SchedThreadUi
51 #define callout_active cyg_callout_active
52 #define callout_deactivate cyg_callout_deactivate
53 #define callout_init cyg_callout_init
54 #define callout_pending cyg_callout_pending
55 #define callout_reset cyg_callout_reset
56 #define callout_stop cyg_callout_stop
57 #define copyin cyg_copyin
58 #define copyout cyg_copyout
59 #define defrouter_addreq cyg_defrouter_addreq
60 #define defrouter_lookup cyg_defrouter_lookup
61 #define defrouter_reset cyg_defrouter_reset
62 #define defrouter_select cyg_defrouter_select
63 #define defrtrlist_del cyg_defrtrlist_del
64 #define dest6_input cyg_dest6_input
65 #define dup_sockaddr cyg_dup_sockaddr
66 #define encap4_input cyg_encap4_input
67 #define encap6_ctlinput cyg_encap6_ctlinput
68 #define encap6_input cyg_encap6_input
69 #define encap_init cyg_encap_init
70 #define ether_demux cyg_ether_demux
71 #define ether_ifattach cyg_ether_ifattach
72 #define ether_input cyg_ether_input
73 #define ether_ioctl cyg_ether_ioctl
74 #define ether_output cyg_ether_output
75 #define ether_output_frame cyg_ether_output_frame
76 #define frag6_drain cyg_frag6_drain
77 #define frag6_init cyg_frag6_init
78 #define frag6_input cyg_frag6_input
79 #define frag6_slowtimo cyg_frag6_slowtimo
80 #define getmicrotime cyg_getmicrotime
81 #define getmicrouptime cyg_getmicrouptime
82 #define hashinit cyg_hashinit
83 #define icmp6_ctloutput cyg_icmp6_ctloutput
84 #define icmp6_error cyg_icmp6_error
85 #define icmp6_fasttimo cyg_icmp6_fasttimo
86 #define icmp6_init cyg_icmp6_init
87 #define icmp6_input cyg_icmp6_input
88 #define icmp6_mtudisc_update cyg_icmp6_mtudisc_update
89 #define icmp6_redirect_input cyg_icmp6_redirect_input
90 #define icmp6_redirect_output cyg_icmp6_redirect_output
91 #define icmp6_reflect cyg_icmp6_reflect
92 #define icmp_error cyg_icmp_error
93 #define icmp_input cyg_icmp_input
94 #define if_addmulti cyg_if_addmulti
95 #define if_allmulti cyg_if_allmulti
96 #define if_attach cyg_if_attach
97 #define if_clone_create cyg_if_clone_create
98 #define if_clone_destroy cyg_if_clone_destroy
99 #define if_clone_list cyg_if_clone_list
100 #define if_clone_lookup cyg_if_clone_lookup
101 #define if_delmulti cyg_if_delmulti
102 #define if_down cyg_if_down
103 #define if_route cyg_if_route
104 #define if_setlladdr cyg_if_setlladdr
105 #define if_simloop cyg_if_simloop
106 #define if_unroute cyg_if_unroute
107 #define if_up cyg_if_up
108 #define ifa_ifwithaddr cyg_ifa_ifwithaddr
109 #define ifa_ifwithdstaddr cyg_ifa_ifwithdstaddr
110 #define ifa_ifwithnet cyg_ifa_ifwithnet
111 #define ifa_ifwithroute cyg_ifa_ifwithroute
112 #define ifafree cyg_ifafree
113 #define ifaof_ifpforaddr cyg_ifaof_ifpforaddr
114 #define ifioctl cyg_ifioctl
115 #define ifunit cyg_ifunit
116 #define igmp_fasttimo cyg_igmp_fasttimo
117 #define igmp_init cyg_igmp_init
118 #define igmp_input cyg_igmp_input
119 #define igmp_joingroup cyg_igmp_joingroup
120 #define igmp_leavegroup cyg_igmp_leavegroup
121 #define igmp_slowtimo cyg_igmp_slowtimo
122 #define in6_addmulti cyg_in6_addmulti
123 #define in6_addr2zoneid cyg_in6_addr2zoneid
124 #define in6_addrscope cyg_in6_addrscope
125 #define in6_are_prefix_equal cyg_in6_are_prefix_equal
126 #define in6_cksum cyg_in6_cksum
127 #define in6_clearscope cyg_in6_clearscope
128 #define in6_control cyg_in6_control
129 #define in6_delmulti cyg_in6_delmulti
130 #define in6_embedscope cyg_in6_embedscope
131 #define in6_get_tmpifid cyg_in6_get_tmpifid
132 #define in6_if_up cyg_in6_if_up
133 #define in6_ifattach cyg_in6_ifattach
134 #define in6_ifawithifp cyg_in6_ifawithifp
135 #define in6_init_prefix_ltimes cyg_in6_init_prefix_ltimes
136 #define in6_inithead cyg_in6_inithead
137 #define in6_joingroup cyg_in6_joingroup
138 #define in6_leavegroup cyg_in6_leavegroup
139 #define in6_localaddr cyg_in6_localaddr
140 #define in6_losing cyg_in6_losing
141 #define in6_mapped_peeraddr cyg_in6_mapped_peeraddr
142 #define in6_mapped_sockaddr cyg_in6_mapped_sockaddr
143 #define in6_mask2len cyg_in6_mask2len
144 #define in6_matchlen cyg_in6_matchlen
145 #define in6_nigroup cyg_in6_nigroup
146 #define in6_pcbbind cyg_in6_pcbbind
147 #define in6_pcbconnect cyg_in6_pcbconnect
148 #define in6_pcbdetach cyg_in6_pcbdetach
149 #define in6_pcbdisconnect cyg_in6_pcbdisconnect
150 #define in6_pcbladdr cyg_in6_pcbladdr
151 #define in6_pcblookup_hash cyg_in6_pcblookup_hash
152 #define in6_pcblookup_local cyg_in6_pcblookup_local
153 #define in6_pcbnotify cyg_in6_pcbnotify
154 #define in6_pcbsetport cyg_in6_pcbsetport
155 #define in6_prefixlen2mask cyg_in6_prefixlen2mask
156 #define in6_purgeaddr cyg_in6_purgeaddr
157 #define in6_recoverscope cyg_in6_recoverscope
158 #define in6_rtchange cyg_in6_rtchange
159 #define in6_selecthlim cyg_in6_selecthlim
160 #define in6_selectroute cyg_in6_selectroute
161 #define in6_selectsrc cyg_in6_selectsrc
162 #define in6_setmaxmtu cyg_in6_setmaxmtu
163 #define in6_setpeeraddr cyg_in6_setpeeraddr
164 #define in6_setsockaddr cyg_in6_setsockaddr
165 #define in6_sin6_2_sin cyg_in6_sin6_2_sin
166 #define in6_sin6_2_sin_in_sock cyg_in6_sin6_2_sin_in_sock
167 #define in6_sin_2_v4mapsin6 cyg_in6_sin_2_v4mapsin6
168 #define in6_sin_2_v4mapsin6_in_sock cyg_in6_sin_2_v4mapsin6_in_sock
169 #define in6_src_ioctl cyg_in6_src_ioctl
170 #define in6_tmpaddrtimer cyg_in6_tmpaddrtimer
171 #define in6_tmpifadd cyg_in6_tmpifadd
172 #define in6_update_ifa cyg_in6_update_ifa
173 #define in6if_do_dad cyg_in6if_do_dad
174 #define in6ifa_ifpforlinklocal cyg_in6ifa_ifpforlinklocal
175 #define in6ifa_ifpwithaddr cyg_in6ifa_ifpwithaddr
176 #define in_addmulti cyg_in_addmulti
177 #define in_addword cyg_in_addword
178 #define in_broadcast cyg_in_broadcast
179 #define in_canforward cyg_in_canforward
180 #define in_cksum cyg_in_cksum
181 #define in_cksum_hdr cyg_in_cksum_hdr
182 #define in_cksum_skip cyg_in_cksum_skip
183 #define in_cksumdata cyg_in_cksumdata
184 #define in_control cyg_in_control
185 #define in_delayed_cksum cyg_in_delayed_cksum
186 #define in_delmulti cyg_in_delmulti
187 #define in_ifadown cyg_in_ifadown
188 #define in_ifscrub cyg_in_ifscrub
189 #define in_inithead cyg_in_inithead
190 #define in_localaddr cyg_in_localaddr
191 #define in_losing cyg_in_losing
192 #define in_pcballoc cyg_in_pcballoc
193 #define in_pcbbind cyg_in_pcbbind
194 #define in_pcbconnect cyg_in_pcbconnect
195 #define in_pcbdetach cyg_in_pcbdetach
196 #define in_pcbdisconnect cyg_in_pcbdisconnect
197 #define in_pcbinshash cyg_in_pcbinshash
198 #define in_pcbladdr cyg_in_pcbladdr
199 #define in_pcblookup_hash cyg_in_pcblookup_hash
200 #define in_pcblookup_local cyg_in_pcblookup_local
201 #define in_pcbnotifyall cyg_in_pcbnotifyall
202 #define in_pcbpurgeif0 cyg_in_pcbpurgeif0
203 #define in_pcbrehash cyg_in_pcbrehash
204 #define in_pcbremlists cyg_in_pcbremlists
205 #define in_pseudo cyg_in_pseudo
206 #define in_rtchange cyg_in_rtchange
207 #define in_rtqdrain cyg_in_rtqdrain
208 #define in_setpeeraddr cyg_in_setpeeraddr
209 #define in_setsockaddr cyg_in_setsockaddr
210 #define init_ip6pktopts cyg_init_ip6pktopts
211 #define init_loopback_interface cyg_init_loopback_interface
212 #define init_net cyg_init_net
213 #define init_net_IPv6 cyg_init_net_IPv6
214 #define init_sin6 cyg_init_sin6
215 #define ip6_addaux cyg_ip6_addaux
216 #define ip6_clearpktopts cyg_ip6_clearpktopts
217 #define ip6_copypktopts cyg_ip6_copypktopts
218 #define ip6_ctloutput cyg_ip6_ctloutput
219 #define ip6_delaux cyg_ip6_delaux
220 #define ip6_findaux cyg_ip6_findaux
221 #define ip6_forward cyg_ip6_forward
222 #define ip6_freemoptions cyg_ip6_freemoptions
223 #define ip6_freepcbopts cyg_ip6_freepcbopts
224 #define ip6_get_prevhdr cyg_ip6_get_prevhdr
225 #define ip6_getdstifaddr cyg_ip6_getdstifaddr
226 #define ip6_init cyg_ip6_init
227 #define ip6_input cyg_ip6_input
228 #define ip6_lasthdr cyg_ip6_lasthdr
229 #define ip6_mforward cyg_ip6_mforward
230 #define ip6_mloopback cyg_ip6_mloopback
231 #define ip6_mrouter_done cyg_ip6_mrouter_done
232 #define ip6_mrouter_get cyg_ip6_mrouter_get
233 #define ip6_mrouter_set cyg_ip6_mrouter_set
234 #define ip6_nexthdr cyg_ip6_nexthdr
235 #define ip6_notify_pmtu cyg_ip6_notify_pmtu
236 #define ip6_optlen cyg_ip6_optlen
237 #define ip6_output cyg_ip6_output
238 #define ip6_process_hopopts cyg_ip6_process_hopopts
239 #define ip6_raw_ctloutput cyg_ip6_raw_ctloutput
240 #define ip6_reset_rcvopt cyg_ip6_reset_rcvopt
241 #define ip6_savecontrol cyg_ip6_savecontrol
242 #define ip6_setpktoptions cyg_ip6_setpktoptions
243 #define ip6_sprintf cyg_ip6_sprintf
244 #define ip6_unknown_opt cyg_ip6_unknown_opt
245 #define ip6_update_recvpcbopt cyg_ip6_update_recvpcbopt
246 #define ip6intr cyg_ip6intr
247 #define ip_ctloutput cyg_ip_ctloutput
248 #define ip_drain cyg_ip_drain
249 #define ip_freemoptions cyg_ip_freemoptions
250 #define ip_init cyg_ip_init
251 #define ip_input cyg_ip_input
252 #define ip_optcopy cyg_ip_optcopy
253 #define ip_output cyg_ip_output
254 #define ip_rsvp_done cyg_ip_rsvp_done
255 #define ip_rsvp_force_done cyg_ip_rsvp_force_done
256 #define ip_rsvp_init cyg_ip_rsvp_init
257 #define ip_rsvp_vif_done cyg_ip_rsvp_vif_done
258 #define ip_rsvp_vif_init cyg_ip_rsvp_vif_init
259 #define ip_savecontrol cyg_ip_savecontrol
260 #define ip_slowtimo cyg_ip_slowtimo
261 #define ip_srcroute cyg_ip_srcroute
262 #define ip_stripoptions cyg_ip_stripoptions
263 #define ipflow_create cyg_ipflow_create
264 #define ipflow_fastforward cyg_ipflow_fastforward
265 #define ipflow_slowtimo cyg_ipflow_slowtimo
266 #define iptime cyg_iptime
267 #define loioctl cyg_loioctl
268 #define looutput cyg_looutput
269 #define m_adj cyg_m_adj
270 #define m_aux_add cyg_m_aux_add
271 #define m_aux_add2 cyg_m_aux_add2
272 #define m_aux_delete cyg_m_aux_delete
273 #define m_aux_find cyg_m_aux_find
274 #define m_aux_find2 cyg_m_aux_find2
275 #define m_cat cyg_m_cat
276 #define m_clalloc cyg_m_clalloc
277 #define m_clalloc_wait cyg_m_clalloc_wait
278 #define m_copyback cyg_m_copyback
279 #define m_copydata cyg_m_copydata
280 #define m_copym cyg_m_copym
281 #define m_free cyg_m_free
282 #define m_freem cyg_m_freem
283 #define m_get cyg_m_get
284 #define m_getclr cyg_m_getclr
285 #define m_gethdr cyg_m_gethdr
286 #define m_mballoc cyg_m_mballoc
287 #define m_mballoc_wait cyg_m_mballoc_wait
288 #define m_prepend cyg_m_prepend
289 #define m_pulldown cyg_m_pulldown
290 #define m_pullup cyg_m_pullup
291 #define m_retry cyg_m_retry
292 #define m_retryhdr cyg_m_retryhdr
293 #define m_split cyg_m_split
294 #define microtime cyg_microtime
295 #define mld6_fasttimeo cyg_mld6_fasttimeo
296 #define mld6_init cyg_mld6_init
297 #define mld6_input cyg_mld6_input
298 #define mld6_start_listening cyg_mld6_start_listening
299 #define mld6_stop_listening cyg_mld6_stop_listening
300 #define mrt6_ioctl cyg_mrt6_ioctl
301 #define nd6_cache_lladdr cyg_nd6_cache_lladdr
302 #define nd6_dad_duplicated cyg_nd6_dad_duplicated
303 #define nd6_dad_start cyg_nd6_dad_start
304 #define nd6_dad_stop cyg_nd6_dad_stop
305 #define nd6_ifattach cyg_nd6_ifattach
306 #define nd6_ifptomac cyg_nd6_ifptomac
307 #define nd6_init cyg_nd6_init
308 #define nd6_ioctl cyg_nd6_ioctl
309 #define nd6_is_addr_neighbor cyg_nd6_is_addr_neighbor
310 #define nd6_lookup cyg_nd6_lookup
311 #define nd6_na_input cyg_nd6_na_input
312 #define nd6_na_output cyg_nd6_na_output
313 #define nd6_need_cache cyg_nd6_need_cache
314 #define nd6_ns_input cyg_nd6_ns_input
315 #define nd6_ns_output cyg_nd6_ns_output
316 #define nd6_nud_hint cyg_nd6_nud_hint
317 #define nd6_option cyg_nd6_option
318 #define nd6_option_init cyg_nd6_option_init
319 #define nd6_options cyg_nd6_options
320 #define nd6_output cyg_nd6_output
321 #define nd6_prefix_lookup cyg_nd6_prefix_lookup
322 #define nd6_prefix_offlink cyg_nd6_prefix_offlink
323 #define nd6_prefix_onlink cyg_nd6_prefix_onlink
324 #define nd6_prelist_add cyg_nd6_prelist_add
325 #define nd6_ra_input cyg_nd6_ra_input
326 #define nd6_rs_input cyg_nd6_rs_input
327 #define nd6_rtrequest cyg_nd6_rtrequest
328 #define nd6_setdefaultiface cyg_nd6_setdefaultiface
329 #define nd6_setmtu cyg_nd6_setmtu
330 #define nd6_storelladdr cyg_nd6_storelladdr
331 #define nd6_timer cyg_nd6_timer
332 #define net_add_domain cyg_net_add_domain
333 #define ovbcopy cyg_ovbcopy
334 #define pfctlinput cyg_pfctlinput
335 #define pfctlinput2 cyg_pfctlinput2
336 #define pffindproto cyg_pffindproto
337 #define pffindtype cyg_pffindtype
338 #define pfxlist_onlink_check cyg_pfxlist_onlink_check
339 #define pim6_input cyg_pim6_input
340 #define prelist_remove cyg_prelist_remove
341 #define prelist_update cyg_prelist_update
342 #define pru_accept_notsupp cyg_pru_accept_notsupp
343 #define pru_connect2_notsupp cyg_pru_connect2_notsupp
344 #define pru_control_notsupp cyg_pru_control_notsupp
345 #define pru_listen_notsupp cyg_pru_listen_notsupp
346 #define pru_rcvd_notsupp cyg_pru_rcvd_notsupp
347 #define pru_rcvoob_notsupp cyg_pru_rcvoob_notsupp
348 #define pru_sense_null cyg_pru_sense_null
349 #define raw_attach cyg_raw_attach
350 #define raw_ctlinput cyg_raw_ctlinput
351 #define raw_detach cyg_raw_detach
352 #define raw_disconnect cyg_raw_disconnect
353 #define raw_init cyg_raw_init
354 #define raw_input cyg_raw_input
355 #define register_netisr cyg_register_netisr
356 #define rip6_ctlinput cyg_rip6_ctlinput
357 #define rip6_ctloutput cyg_rip6_ctloutput
358 #define rip6_input cyg_rip6_input
359 #define rip6_output cyg_rip6_output
360 #define rip_ctlinput cyg_rip_ctlinput
361 #define rip_ctloutput cyg_rip_ctloutput
362 #define rip_init cyg_rip_init
363 #define rip_input cyg_rip_input
364 #define rip_output cyg_rip_output
365 #define rn_addmask cyg_rn_addmask
366 #define rn_addroute cyg_rn_addroute
367 #define rn_delete cyg_rn_delete
368 #define rn_init cyg_rn_init
369 #define rn_inithead cyg_rn_inithead
370 #define rn_lookup cyg_rn_lookup
371 #define rn_match cyg_rn_match
372 #define rn_refines cyg_rn_refines
373 #define route6_input cyg_route6_input
374 #define route_init cyg_route_init
375 //#define route_reinit cyg_route_reinit
376 #define rsvp_input cyg_rsvp_input
377 #define rt6_flush cyg_rt6_flush
378 #define rt_ifmsg cyg_rt_ifmsg
379 #define rt_missmsg cyg_rt_missmsg
380 #define rt_newaddrmsg cyg_rt_newaddrmsg
381 #define rt_newmaddrmsg cyg_rt_newmaddrmsg
382 #define rt_setgate cyg_rt_setgate
383 #define rtalloc cyg_rtalloc
384 #define rtalloc1 cyg_rtalloc1
385 #define rtalloc_ign cyg_rtalloc_ign
386 #define rtfree cyg_rtfree
387 #define rtinit cyg_rtinit
388 #define rtioctl cyg_rtioctl
389 #define rtredirect cyg_rtredirect
390 #define rtrequest cyg_rtrequest
391 #define sb_lock cyg_sb_lock
392 #define sbappend cyg_sbappend
393 #define sbappendaddr cyg_sbappendaddr
394 #define sbappendcontrol cyg_sbappendcontrol
395 #define sbappendrecord cyg_sbappendrecord
396 #define sbcompress cyg_sbcompress
397 #define sbcreatecontrol cyg_sbcreatecontrol
398 #define sbdrop cyg_sbdrop
399 #define sbdroprecord cyg_sbdroprecord
400 #define sbflush cyg_sbflush
401 #define sbrelease cyg_sbrelease
402 #define sbreserve cyg_sbreserve
403 #define sbwait cyg_sbwait
404 #define scope6_addr2default cyg_scope6_addr2default
405 #define scope6_check_id cyg_scope6_check_id
406 #define scope6_get cyg_scope6_get
407 #define scope6_get_default cyg_scope6_get_default
408 #define scope6_ifattach cyg_scope6_ifattach
409 #define scope6_set cyg_scope6_set
410 #define scope6_setdefault cyg_scope6_setdefault
411 #define scope6_setzoneid cyg_scope6_setzoneid
412 #define selwakeup cyg_selwakeup
413 #define soabort cyg_soabort
414 #define soaccept cyg_soaccept
415 #define soalloc cyg_soalloc
416 #define sobind cyg_sobind
417 #define socantrcvmore cyg_socantrcvmore
418 #define socantsendmore cyg_socantsendmore
419 #define soclose cyg_soclose
420 #define soconnect cyg_soconnect
421 #define socreate cyg_socreate
422 #define sodealloc cyg_sodealloc
423 #define sodisconnect cyg_sodisconnect
424 #define sodropablereq cyg_sodropablereq
425 #define sofree cyg_sofree
426 #define sogetopt cyg_sogetopt
427 #define sohasoutofband cyg_sohasoutofband
428 #define soisconnected cyg_soisconnected
429 #define soisconnecting cyg_soisconnecting
430 #define soisdisconnected cyg_soisdisconnected
431 #define soisdisconnecting cyg_soisdisconnecting
432 #define solisten cyg_solisten
433 #define sonewconn cyg_sonewconn
434 #define sonewconn3 cyg_sonewconn3
435 #define soopt_getm cyg_soopt_getm
436 #define soopt_mcopyin cyg_soopt_mcopyin
437 #define soopt_mcopyout cyg_soopt_mcopyout
438 #define sooptcopyin cyg_sooptcopyin
439 #define sooptcopyout cyg_sooptcopyout
440 #define sopoll cyg_sopoll
441 #define soreceive cyg_soreceive
442 #define soreserve cyg_soreserve
443 #define sorflush cyg_sorflush
444 #define sosend cyg_sosend
445 #define sosetopt cyg_sosetopt
446 #define soshutdown cyg_soshutdown
447 #define sowakeup cyg_sowakeup
448 #define tcp6_ctlinput cyg_tcp6_ctlinput
449 #define tcp6_input cyg_tcp6_input
450 #define tcp_canceltimers cyg_tcp_canceltimers
451 #define tcp_close cyg_tcp_close
452 #define tcp_ctlinput cyg_tcp_ctlinput
453 #define tcp_ctloutput cyg_tcp_ctloutput
454 #define tcp_drain cyg_tcp_drain
455 #define tcp_drop cyg_tcp_drop
456 #define tcp_drop_syn_sent cyg_tcp_drop_syn_sent
457 #define tcp_fillheaders cyg_tcp_fillheaders
458 #define tcp_gettaocache cyg_tcp_gettaocache
459 #define tcp_init cyg_tcp_init
460 #define tcp_input cyg_tcp_input
461 #define tcp_maketemplate cyg_tcp_maketemplate
462 #define tcp_mss cyg_tcp_mss
463 #define tcp_mssopt cyg_tcp_mssopt
464 #define tcp_mtudisc cyg_tcp_mtudisc
465 #define tcp_new_isn cyg_tcp_new_isn
466 #define tcp_newtcpcb cyg_tcp_newtcpcb
467 #define tcp_output cyg_tcp_output
468 #define tcp_quench cyg_tcp_quench
469 #define tcp_respond cyg_tcp_respond
470 #define tcp_rtlookup cyg_tcp_rtlookup
471 #define tcp_rtlookup6 cyg_tcp_rtlookup6
472 #define tcp_setpersist cyg_tcp_setpersist
473 #define tcp_slowtimo cyg_tcp_slowtimo
474 #define tcp_timer_2msl cyg_tcp_timer_2msl
475 #define tcp_timer_delack cyg_tcp_timer_delack
476 #define tcp_timer_keep cyg_tcp_timer_keep
477 #define tcp_timer_persist cyg_tcp_timer_persist
478 #define tcp_timer_rexmt cyg_tcp_timer_rexmt
479 #define timeout cyg_timeout
480 #define tvtohz cyg_tvtohz
481 #define udp6_ctlinput cyg_udp6_ctlinput
482 #define udp6_input cyg_udp6_input
483 #define udp6_output cyg_udp6_output
484 #define udp_ctlinput cyg_udp_ctlinput
485 #define udp_init cyg_udp_init
486 #define udp_input cyg_udp_input
487 #define udp_notify cyg_udp_notify
488 #define udp_shutdown cyg_udp_shutdown
489 #define uiomove cyg_uiomove
490
491 // DATA symbols
492 #define arpintrq cyg_arpintrq
493 #define bsd_nste cyg_bsd_nste
494 #define bsd_sock_fileops cyg_bsd_sock_fileops
495 #define bsd_sockops cyg_bsd_sockops
496 #define encaptab cyg_encaptab
497 #define etherbroadcastaddr cyg_etherbroadcastaddr
498 #define fr_checkp cyg_fr_checkp
499 #define fw_enable cyg_fw_enable
500 #define hostname cyg_hostname
501 #define hz cyg_hz
502 #define icmp6_ifstat cyg_icmp6_ifstat
503 #define icmp6_ifstatmax cyg_icmp6_ifstatmax
504 #define icmp6_nodeinfo cyg_icmp6_nodeinfo
505 #define icmp6_rediraccept cyg_icmp6_rediraccept
506 #define icmp6errppslim cyg_icmp6errppslim
507 #define if_cloners cyg_if_cloners
508 #define if_index cyg_if_index
509 #define ifindex2ifnet cyg_ifindex2ifnet
510 #define ifqmaxlen cyg_ifqmaxlen
511 #define in6_ifstat cyg_in6_ifstat
512 #define in6_ifstatmax cyg_in6_ifstatmax
513 #define in6_maxmtu cyg_in6_maxmtu
514 #define inet6ctlerrmap cyg_inet6ctlerrmap
515 #define inet6domain cyg_inet6domain
516 #define inet6sw cyg_inet6sw
517 #define inetctlerrmap cyg_inetctlerrmap
518 #define inetdomain cyg_inetdomain
519 #define inetsw cyg_inetsw
520 #define ip6_accept_rtadv cyg_ip6_accept_rtadv
521 #define ip6_auto_flowlabel cyg_ip6_auto_flowlabel
522 #define ip6_auto_linklocal cyg_ip6_auto_linklocal
523 #define ip6_dad_count cyg_ip6_dad_count
524 #define ip6_defhlim cyg_ip6_defhlim
525 #define ip6_defmcasthlim cyg_ip6_defmcasthlim
526 #define ip6_forwarding cyg_ip6_forwarding
527 #define ip6_fw_enable cyg_ip6_fw_enable
528 #define ip6_hdrnestlimit cyg_ip6_hdrnestlimit
529 #define ip6_id cyg_ip6_id
530 #define ip6_log_interval cyg_ip6_log_interval
531 #define ip6_log_time cyg_ip6_log_time
532 #define ip6_mrouter cyg_ip6_mrouter
533 #define ip6_mrouter_ver cyg_ip6_mrouter_ver
534 #define ip6_prefer_tempaddr cyg_ip6_prefer_tempaddr
535 #define ip6_temp_preferred_lifetime cyg_ip6_temp_preferred_lifetime
536 #define ip6_temp_regen_advance cyg_ip6_temp_regen_advance
537 #define ip6_temp_valid_lifetime cyg_ip6_temp_valid_lifetime
538 #define ip6_use_defzone cyg_ip6_use_defzone
539 #define ip6_use_deprecated cyg_ip6_use_deprecated
540 #define ip6_use_tempaddr cyg_ip6_use_tempaddr
541 #define ip6_v6only cyg_ip6_v6only
542 #define ip_defttl cyg_ip_defttl
543 #define ip_mcast_src cyg_ip_mcast_src
544 #define ip_mforward cyg_ip_mforward
545 #define ip_mrouter cyg_ip_mrouter
546 #define ip_mrouter_done cyg_ip_mrouter_done
547 #define ip_mrouter_get cyg_ip_mrouter_get
548 #define ip_mrouter_set cyg_ip_mrouter_set
549 #define ipforwarding cyg_ipforwarding
550 #define ipport_firstauto cyg_ipport_firstauto
551 #define ipport_hifirstauto cyg_ipport_hifirstauto
552 #define ipport_hilastauto cyg_ipport_hilastauto
553 #define ipport_lastauto cyg_ipport_lastauto
554 #define ipport_lowfirstauto cyg_ipport_lowfirstauto
555 #define ipport_lowlastauto cyg_ipport_lowlastauto
556 #define legal_vif_num cyg_legal_vif_num
557 #define llinfo_nd6 cyg_llinfo_nd6
558 #define log_in_vain cyg_log_in_vain
559 #define m_clalloc_wid cyg_m_clalloc_wid
560 #define m_mballoc_wid cyg_m_mballoc_wid
561 #define maxsockets cyg_maxsockets
562 #define mbuf_wait cyg_mbuf_wait
563 #define mrt_ioctl cyg_mrt_ioctl
564 #define nd6_debug cyg_nd6_debug
565 #define nd6_delay cyg_nd6_delay
566 #define nd6_gctimer cyg_nd6_gctimer
567 #define nd6_maxndopt cyg_nd6_maxndopt
568 #define nd6_maxnudhint cyg_nd6_maxnudhint
569 #define nd6_mmaxtries cyg_nd6_mmaxtries
570 #define nd6_prune cyg_nd6_prune
571 #define nd6_recalc_reachtm_interval cyg_nd6_recalc_reachtm_interval
572 #define nd6_umaxtries cyg_nd6_umaxtries
573 #define nd6_useloopback cyg_nd6_useloopback
574 #define nd_ifinfo cyg_nd_ifinfo
575 #define nd_prefix cyg_nd_prefix
576 #define nmbclusters cyg_nmbclusters
577 #define proc0 cyg_proc0
578 #define raw_usrreqs cyg_raw_usrreqs
579 #define rip6_usrreqs cyg_rip6_usrreqs
580 #define rip_recvspace cyg_rip_recvspace
581 #define rip_sendspace cyg_rip_sendspace
582 #define rip_usrreqs cyg_rip_usrreqs
583 #define rsvp_on cyg_rsvp_on
584 #define rsvpdebug cyg_rsvpdebug
585 #define rtc_resolution cyg_rtc_resolution
586 #define sb_max cyg_sb_max
587 #define scope6_ids cyg_scope6_ids
588 #define ss_fltsz cyg_ss_fltsz
589 #define ss_fltsz_local cyg_ss_fltsz_local
590 #define tcp6_usrreqs cyg_tcp6_usrreqs
591 #define tcp_backoff cyg_tcp_backoff
592 #define tcp_delack_enabled cyg_tcp_delack_enabled
593 #define tcp_do_newreno cyg_tcp_do_newreno
594 #define tcp_lq_overflow cyg_tcp_lq_overflow
595 #define tcp_mssdflt cyg_tcp_mssdflt
596 #define tcp_recvspace cyg_tcp_recvspace
597 #define tcp_sendspace cyg_tcp_sendspace
598 #define tcp_syn_backoff cyg_tcp_syn_backoff
599 #define tcp_usrreqs cyg_tcp_usrreqs
600 #define tcp_v6mssdflt cyg_tcp_v6mssdflt
601 #define tick cyg_tick
602 #define udp6_usrreqs cyg_udp6_usrreqs
603 #define udp_in6 cyg_udp_in6
604 #define udp_recvspace cyg_udp_recvspace
605 #define udp_sendspace cyg_udp_sendspace
606 #define udp_usrreqs cyg_udp_usrreqs
607 #define udpcksum cyg_udpcksum
608
609 // BSS symbols
610 #define addrsel_policytab cyg_addrsel_policytab
611 #define defaultaddrpolicy cyg_defaultaddrpolicy
612 #define domains cyg_domains
613 #define frag6_doing_reass cyg_frag6_doing_reass
614 #define frag6_nfragpackets cyg_frag6_nfragpackets
615 #define icmp6stat cyg_icmp6stat
616 #define icmpstat cyg_icmpstat
617 #define if_cloners_count cyg_if_cloners_count
618 #define ifnet cyg_ifnet
619 #define ifnet_addrs cyg_ifnet_addrs
620 #define in6_ifaddr cyg_in6_ifaddr
621 #define in6_multihead cyg_in6_multihead
622 #define in6_tmpaddrtimer_ch cyg_in6_tmpaddrtimer_ch
623 #define in_ifaddrhead cyg_in_ifaddrhead
624 #define in_multihead cyg_in_multihead
625 #define ip6_desync_factor cyg_ip6_desync_factor
626 #define ip6_flow_seq cyg_ip6_flow_seq
627 #define ip6_forward_rt cyg_ip6_forward_rt
628 #define ip6_forward_srcrt cyg_ip6_forward_srcrt
629 #define ip6_fw_chk_ptr cyg_ip6_fw_chk_ptr
630 #define ip6_fw_ctl_ptr cyg_ip6_fw_ctl_ptr
631 #define ip6_maxfragpackets cyg_ip6_maxfragpackets
632 #define ip6_ours_check_algorithm cyg_ip6_ours_check_algorithm
633 #define ip6_protox cyg_ip6_protox
634 #define ip6_sourcecheck cyg_ip6_sourcecheck
635 #define ip6_sourcecheck_interval cyg_ip6_sourcecheck_interval
636 #define ip6intrq cyg_ip6intrq
637 #define ip6q cyg_ip6q
638 #define ip6stat cyg_ip6stat
639 #define ip_fw_chk_ptr cyg_ip_fw_chk_ptr
640 #define ip_fw_ctl_ptr cyg_ip_fw_ctl_ptr
641 #define ip_fw_fwd_addr cyg_ip_fw_fwd_addr
642 #define ip_id cyg_ip_id
643 #define ip_protox cyg_ip_protox
644 #define ip_rsvpd cyg_ip_rsvpd
645 #define ipintrq cyg_ipintrq
646 #define ipstat cyg_ipstat
647 #define isn_ctx cyg_isn_ctx
648 #define isn_last_reseed cyg_isn_last_reseed
649 #define isn_secret cyg_isn_secret
650 #define ktime cyg_ktime
651 #define loif cyg_loif
652 #define max_datalen cyg_max_datalen
653 #define max_hdr cyg_max_hdr
654 #define max_linkhdr cyg_max_linkhdr
655 #define max_protohdr cyg_max_protohdr
656 #define mbstat cyg_mbstat
657 #define mbtypes cyg_mbtypes
658 #define mbutl cyg_mbutl
659 #define mclfree cyg_mclfree
660 #define mclrefcnt cyg_mclrefcnt
661 #define mf6ctable cyg_mf6ctable
662 #define mmbfree cyg_mmbfree
663 #define mono_time cyg_mono_time
664 #define mrt6stat cyg_mrt6stat
665 #define mtab_lock cyg_mtab_lock
666 #define multicast_register_if cyg_multicast_register_if
667 #define n6expire cyg_n6expire
668 #define nd6_defifindex cyg_nd6_defifindex
669 #define nd6_slowtimo_ch cyg_nd6_slowtimo_ch
670 #define nd6_timer_ch cyg_nd6_timer_ch
671 #define nd_defrouter cyg_nd_defrouter
672 #define netint_flags cyg_netint_flags
673 #define ng_ether_attach_p cyg_ng_ether_attach_p
674 #define ng_ether_detach_p cyg_ng_ether_detach_p
675 #define ng_ether_input_orphan_p cyg_ng_ether_input_orphan_p
676 #define ng_ether_input_p cyg_ng_ether_input_p
677 #define ng_ether_output_p cyg_ng_ether_output_p
678 #define nstab_lock cyg_nstab_lock
679 #define rawcb_list cyg_rawcb_list
680 #define rip6stat cyg_rip6stat
681 #define ripcb cyg_ripcb
682 #define ripcbinfo cyg_ripcbinfo
683 #define route_cb cyg_route_cb
684 #define rt_tables cyg_rt_tables
685 #define sig_pending cyg_sig_pending
686 #define signal_mutex cyg_signal_mutex
687 #define signal_sigwait cyg_signal_sigwait
688 #define so_gencnt cyg_so_gencnt
689 #define socket_zone cyg_socket_zone
690 #define tcb cyg_tcb
691 #define tcbinfo cyg_tcbinfo
692 #define tcp_ccgen cyg_tcp_ccgen
693 #define tcp_delacktime cyg_tcp_delacktime
694 #define tcp_keepidle cyg_tcp_keepidle
695 #define tcp_keepinit cyg_tcp_keepinit
696 #define tcp_keepintvl cyg_tcp_keepintvl
697 #define tcp_maxidle cyg_tcp_maxidle
698 #define tcp_maxpersistidle cyg_tcp_maxpersistidle
699 #define tcp_msl cyg_tcp_msl
700 #define tcpstat cyg_tcpstat
701 #define udb cyg_udb
702 #define udbinfo cyg_udbinfo
703 #define udp_ip6 cyg_udp_ip6
704 #define udpstat cyg_udpstat
705 #endif
706
707 // Symbols from the BSD_CRYPTO package
708
709 // TEXT symbols
710
711 #define SHA256_Data cyg_SHA256_Data
712 #define SHA256_End cyg_SHA256_End
713 #define SHA256_Final cyg_SHA256_Final
714 #define SHA256_Init cyg_SHA256_Init
715 #define SHA256_Transform cyg_SHA256_Transform
716 #define SHA256_Update cyg_SHA256_Update
717 #define SHA384_Data cyg_SHA384_Data
718 #define SHA384_End cyg_SHA384_End
719 #define SHA384_Final cyg_SHA384_Final
720 #define SHA384_Init cyg_SHA384_Init
721 #define SHA384_Update cyg_SHA384_Update
722 #define SHA512_Data cyg_SHA512_Data
723 #define SHA512_End cyg_SHA512_End
724 #define SHA512_Final cyg_SHA512_Final
725 #define SHA512_Init cyg_SHA512_Init
726 #define SHA512_Last cyg_SHA512_Last
727 #define SHA512_Transform cyg_SHA512_Transform
728 #define SHA512_Update cyg_SHA512_Update
729 #define md5_init cyg_md5_init
730 #define md5_loop cyg_md5_loop
731 #define md5_pad cyg_md5_pad
732 #define md5_result cyg_md5_result
733 #define sha1_init cyg_sha1_init
734 #define sha1_loop cyg_sha1_loop
735 #define sha1_pad cyg_sha1_pad
736 #define sha1_result cyg_sha1_result
737 #define cast128_decrypt_round12 cyg_cast128_decrypt_round12
738 #define cast128_decrypt_round16 cyg_cast128_decrypt_round16
739 #define cast128_encrypt_round12 cyg_cast128_encrypt_round12
740 #define cast128_encrypt_round16 cyg_cast128_encrypt_round16
741 #define set_cast128_subkey cyg_set_cast128_subkey
742 #define twofish_TableOp cyg_twofish_TableOp
743 #define twofish_blockDecrypt cyg_twofish_blockDecrypt
744 #define twofish_blockEncrypt cyg_twofish_blockEncrypt
745 #define twofish_cipherInit cyg_twofish_cipherInit
746 #define twofish_makeKey cyg_twofish_makeKey
747 #define twofish_reKey cyg_twofish_reKey
748 #define rijndaelDecrypt cyg_rijndaelDecrypt
749 #define rijndaelEncrypt cyg_rijndaelEncrypt
750 #define rijndaelKeyEncToDec cyg_rijndaelKeyEncToDec
751 #define rijndaelKeySched cyg_rijndaelKeySched
752 #define rijndael_blockDecrypt cyg_rijndael_blockDecrypt
753 #define rijndael_blockEncrypt cyg_rijndael_blockEncrypt
754 #define rijndael_cipherInit cyg_rijndael_cipherInit
755 #define rijndael_makeKey cyg_rijndael_makeKey
756 #define rijndael_padDecrypt cyg_rijndael_padDecrypt
757 #define rijndael_padEncrypt cyg_rijndael_padEncrypt
758
759 // Data symbols
760
761 #define numRounds cyg_numRounds
762
763 // BSS symbols
764
765
766 #include <pkgconf/net.h>
767 #include <cyg/infra/cyg_type.h>  // Standard eCos types
768
769 #define __P(protos) protos
770 #if defined(__cplusplus)
771 #define __BEGIN_DECLS   extern "C" {
772 #define __END_DECLS     };
773 #else
774 #define __BEGIN_DECLS
775 #define __END_DECLS
776 #endif
777
778 #include <sys/types.h>
779 #include <sys/endian.h>
780 #include <errno.h>
781 #include <string.h>
782
783 #ifdef _KERNEL
784 // External [common] variables
785 extern int hz;
786 extern volatile struct timeval ktime;
787 #define time_second ktime.tv_sec
788 extern int tick;
789 extern struct proc * proc0;
790 #define curproc 0
791 extern void microtime(struct timeval *tp);
792 extern void getmicrotime(struct timeval *tp);
793 extern void getmicrouptime(struct timeval *tp);
794 extern int  tvtohz(struct timeval *tv);
795 extern int  arc4random(void);
796
797 // Function mappings
798
799 extern int  cyg_ticks(void);
800 #define ticks cyg_ticks()
801 extern int  cyg_tsleep(void *, int, char *, int);
802 extern void cyg_wakeup(void *);
803 #define tsleep(e,p,w,t) cyg_tsleep(e,0,w,t)
804 #define wakeup(e)       cyg_wakeup(e)
805 #define wakeup_one(e)   cyg_wakeup(e)
806
807 #ifdef CYGIMPL_TRACE_SPLX   
808 extern cyg_uint32  cyg_splimp(const char *file, const int line);
809 extern cyg_uint32  cyg_splnet(const char *file, const int line);
810 extern cyg_uint32  cyg_splclock(const char *file, const int line);
811 extern cyg_uint32  cyg_splsoftnet(const char *file, const int line);
812 extern void        cyg_splx(cyg_uint32, const char *file, const int line);
813 #define splimp()   cyg_splimp(__FUNCTION__, __LINE__)
814 #define splnet()   cyg_splnet(__FUNCTION__, __LINE__)
815 #define splclock() cyg_splclock(__FUNCTION__, __LINE__)
816 #define splsoftnet() cyg_splsoftnet(__FUNCTION__, __LINE__)
817 #define splx(x)    cyg_splx(x, __FUNCTION__, __LINE__)
818 #define cyg_scheduler_lock() _cyg_scheduler_lock(__FUNCTION__, __LINE__)
819 #define cyg_scheduler_safe_lock() _cyg_scheduler_safe_lock(__FUNCTION__, __LINE__)
820 #define cyg_scheduler_unlock() _cyg_scheduler_unlock(__FUNCTION__, __LINE__)
821 #else
822 extern cyg_uint32  cyg_splimp(void);
823 extern cyg_uint32  cyg_splnet(void);
824 extern cyg_uint32  cyg_splclock(void);
825 extern cyg_uint32  cyg_splsoftnet(void);
826 extern cyg_uint32  cyg_splhigh(void);
827 extern void        cyg_splx(cyg_uint32);
828 #define splimp     cyg_splimp
829 #define splnet     cyg_splnet
830 #define splclock   cyg_splclock
831 #define splsoftnet cyg_splsoftnet
832 #define splhigh    cyg_splhigh
833 #define splx       cyg_splx
834 #endif
835
836 extern void cyg_panic(const char *msg, ...);
837 #define panic cyg_panic
838
839 /*
840  * Constants related to network buffer management.
841  * MCLBYTES must be no larger than CLBYTES (the software page size), and,
842  * on machines that exchange pages of input or output buffers with mbuf
843  * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
844  * of the hardware page size.
845  */
846 #define MSIZE           128             /* size of an mbuf */
847 #define MCLSHIFT        11              /* convert bytes to m_buf clusters */
848 #define MCLBYTES        (1 << MCLSHIFT) /* size of a m_buf cluster */
849 #define MCLOFSET        (MCLBYTES - 1)  /* offset within a m_buf cluster */
850 #define CLBYTES         4096            /* size of actual cluster */
851 #define PAGE_SIZE       CLBYTES
852
853 /*
854  * Round p (pointer or byte index) up to a correctly-aligned value
855  * for all data types (int, long, ...).   The result is u_int and
856  * must be cast to any desired pointer type.
857  */
858 #define ALIGNBYTES      (sizeof(int) - 1)
859 #define ALIGN(p)        (((u_int)(p) + ALIGNBYTES) &~ ALIGNBYTES)
860
861 // These symbols are used in the IPV6 stuff
862 // (be more defensive about external setup)
863 #undef __linux__   
864 #undef __bsdi__    
865 #undef __FreeBSD__ 
866 #undef __OpenBSD__ 
867 #undef __NetBSD__  
868
869 #define __FreeBSD__       4
870 #define __FreeBSD_version 440000
871
872 // TEMP
873
874 #include <cyg/infra/diag.h>
875 #include <cyg/hal/hal_intr.h>
876 #include <cyg/kernel/kapi.h>
877 #include <cyg/io/file.h>
878
879 struct net_stats {
880     int              count;
881     cyg_uint32       min_time, max_time, total_time;
882 };
883
884 #ifdef CYGDBG_NET_TIMING_STATS
885 #define START_STATS()                                   \
886     cyg_uint32 start_time, end_time, elapsed_time;      \
887     HAL_CLOCK_READ(&start_time);
888 #define FINISH_STATS(stats)                                                             \
889     HAL_CLOCK_READ(&end_time);                                                          \
890     if (end_time < start_time) {                                                        \
891         elapsed_time = (end_time+CYGNUM_KERNEL_COUNTERS_RTC_PERIOD) - start_time;       \
892     } else {                                                                            \
893         elapsed_time = end_time - start_time;                                           \
894     }                                                                                   \
895     if (stats.min_time == 0) {                                                          \
896         stats.min_time = 0x7FFFFFFF;                                                    \
897     }                                                                                   \
898     if (elapsed_time < stats.min_time)                                                  \
899         stats.min_time = elapsed_time;                                                  \
900     if (elapsed_time > stats.max_time)                                                  \
901         stats.max_time = elapsed_time;                                                  \
902     stats.total_time += elapsed_time;                                                   \
903     stats.count++;
904 #else
905 #define START_STATS() 
906 #define FINISH_STATS(X)
907 #endif
908
909 // TEMP
910
911 // timeout support
912 typedef void (timeout_fun)(void *);
913 typedef struct callout {
914     struct callout *next, *prev;
915     cyg_int32     delta;  // Number of "ticks" in the future for this timeout
916     timeout_fun  *fun;    // Function to execute when it expires
917     void         *arg;    // Argument to pass when it does
918     int           flags;  // Info about this item
919 } timeout_entry;
920 #define CALLOUT_LOCAL    0x0001
921 #define CALLOUT_ACTIVE   0x0002
922 #define CALLOUT_PENDING  0x0004
923 extern cyg_uint32 timeout(timeout_fun *fun, void *arg, cyg_int32 delta);
924 extern void untimeout(timeout_fun *fun, void *arg);
925
926 extern void callout_init(struct callout *);
927 extern void callout_reset(struct callout *, int, timeout_fun *, void *);
928 extern void callout_stop(struct callout *);
929 extern int  callout_active(struct callout *);
930 extern void callout_deactivate(struct callout *);
931 extern int  callout_pending(struct callout *);
932
933 extern int uiomove(caddr_t cp, int n, struct uio *uio);
934 extern int copyout(const void *s, void *d, size_t len);
935 extern int copyin(const void *s, void *d, size_t len);
936 extern void ovbcopy(const void *s, void *d, size_t len);
937 extern void get_mono_time(void);
938 extern int arc4random(void);
939 extern void get_random_bytes(void *buf, size_t len);
940 extern void read_random(void *buf, size_t len);
941 extern int read_random_unlimited(void *buf, size_t len);
942 extern void *hashinit(int elements, void *type, u_long *hashmask);
943
944 // Initialization support - cross between RedBoot & FreeBSD
945 typedef void _init_fun(void *);
946 typedef _init_fun *_init_fun_ptr;
947 struct init_tab_entry {
948     _init_fun_ptr fun;
949     void *data;
950     char *name;
951 } CYG_HAL_TABLE_TYPE;
952 #define _cat(a,b) a##b
953 #define __Net_init(_p1_,_p2_,_f_,_d_)                                    \
954 struct init_tab_entry _cat(_net_init_tab,_p1_##_p2_##_f_) \
955   CYG_HAL_TABLE_QUALIFIED_ENTRY(_Net_inits,_p1_##_p2_##_f_) = { (_init_fun_ptr) _f_, _d_, #_f_ }; 
956 #define _Net_init(_p1_,_p2_,_f_,_d_)                                    \
957         __Net_init(_p1_,_p2_,_f_,_d_)                                    
958
959 #define SI_ORDER_FIRST  000000
960 #define SI_ORDER_SECOND 000001
961 #define SI_ORDER_THIRD  000002
962 #define SI_ORDER_MIDDLE 080000
963 #define SI_ORDER_ANY    FFFFFF
964
965 #define SI_SUB_MBUF         0x50
966 #define SI_SUB_DEVICES      0x60
967 #define SI_SUB_PSEUDO       0x70
968 #define SI_SUB_PROTO_IF     0x84
969 #define SI_SUB_PROTO_DOMAIN 0x88
970
971 #define SYSINIT(label, group, order, fun, ident) \
972   _Net_init(_cat(group,order), label, fun, ident)
973 #define PSEUDO_SET(fun, sys) \
974   SYSINIT(sys, SI_SUB_PSEUDO, SI_ORDER_FIRST, fun, NULL)
975
976 // VM zone stuff
977 #define ZONE_INTERRUPT  1
978
979 typedef struct _elem {
980     struct _elem *next;
981 } elem;
982
983 typedef struct vm_zone {
984     char *name;
985     int   elem_size, free, total;
986     int   alloc_tries, alloc_fails, alloc_frees;
987     elem *pool;
988     struct vm_zone *next;
989 } *vm_zone_t;
990 vm_zone_t zinit(char *name, int size, int nentries, int flags, int zalloc);
991 void *    zalloci(vm_zone_t z);
992 void      zfreei(vm_zone_t z, void *item);
993
994 // Function mapping
995 #define printf     diag_printf
996 #define sprintf    diag_sprintf
997 #define snprintf   diag_snprintf
998
999 // Missing standard functions
1000 static __inline int imax(int a, int b) { return (a > b ? a : b); }
1001 static __inline int imin(int a, int b) { return (a < b ? a : b); }
1002 static __inline long lmax(long a, long b) { return (a > b ? a : b); }
1003 static __inline long lmin(long a, long b) { return (a < b ? a : b); }
1004 static __inline u_int max(u_int a, u_int b) { return (a > b ? a : b); }
1005 static __inline u_int min(u_int a, u_int b) { return (a < b ? a : b); }
1006 static __inline quad_t qmax(quad_t a, quad_t b) { return (a > b ? a : b); }
1007 static __inline quad_t qmin(quad_t a, quad_t b) { return (a < b ? a : b); }
1008 static __inline u_long ulmax(u_long a, u_long b) { return (a > b ? a : b); }
1009 static __inline u_long ulmin(u_long a, u_long b) { return (a < b ? a : b); }
1010
1011 // Align a value to a natural multiple (4)
1012 #define _ALIGN(n) (((n)+3)&~3)  // Is this right?
1013 // Round a number 'n' up to a multiple of 'm'
1014 #define roundup(n,m) ((((n)+((m)-1))/(m))*(m))
1015
1016 #define NEW_STRUCT_ROUTE
1017 extern char *hostname;
1018
1019 // Logging facilities
1020 #ifdef CYGPKG_NET_FREEBSD_LOGGING
1021 extern int cyg_net_log_mask;
1022 #define LOG_ERR      0x0001
1023 #define LOG_WARNING  0x0002
1024 #define LOG_NOTICE   0x0004
1025 #define LOG_INFO     0x0008
1026 #define LOG_DEBUG    0x0010
1027 #define LOG_MDEBUG   0x0020
1028 #define LOG_IOCTL    0x0040
1029 #define LOG_ADDR     0x0100
1030 #define LOG_FAIL     0x0200
1031 #define LOG_INIT     0x0080
1032 #define LOG_EMERG    0x4000
1033 #define LOG_CRIT     0x8000
1034 #define log(lvl, args...) \
1035 do { if (cyg_net_log_mask & lvl) diag_printf(args); } while (0)
1036 #define log_dump(lvl, buf, len) \
1037 do { if (cyg_net_log_mask & lvl) diag_dump_buf(buf, len); } while (0)
1038 #define log_(lvl) \
1039 if (cyg_net_log_mask & lvl)
1040 #else
1041 #define log(lvl, args...) 
1042 #define log_dump(lvl, buf, len)
1043 #define log_(lvl) if (0)
1044 #endif
1045
1046 #endif // _KERNEL
1047 int extern cyg_arc4random(void);
1048 #endif //_SYS_PARAM_H_