diff options
Diffstat (limited to 'netinet/sctp_usrreq.c')
-rwxr-xr-x | netinet/sctp_usrreq.c | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/netinet/sctp_usrreq.c b/netinet/sctp_usrreq.c index 17441bc..d4115ad 100755 --- a/netinet/sctp_usrreq.c +++ b/netinet/sctp_usrreq.c @@ -76,6 +76,8 @@ void sctp_init(uint16_t port, int (*conn_output)(void *addr, void *buffer, size_t length, uint8_t tos, uint8_t set_df), void (*debug_printf)(const char *format, ...)) +#elif defined(__APPLE__) && (!defined(APPLE_LEOPARD) && !defined(APPLE_SNOWLEOPARD) &&!defined(APPLE_LION) && !defined(APPLE_MOUNTAINLION)) +sctp_init(struct protosw *pp SCTP_UNUSED, struct domain *dp SCTP_UNUSED) #else sctp_init(void) #endif @@ -177,8 +179,7 @@ sctp_init(void) #if defined(__APPLE__) SCTP_BASE_VAR(sctp_main_timer_ticks) = 0; sctp_start_main_timer(); - sctp_address_monitor_start(); - sctp_over_udp_start(); + timeout(sctp_delayed_startup, NULL, 1); #endif } @@ -186,6 +187,7 @@ void sctp_finish(void) { #if defined(__APPLE__) + untimeout(sctp_delayed_startup, NULL); sctp_over_udp_stop(); sctp_address_monitor_stop(); sctp_stop_main_timer(); @@ -7799,7 +7801,7 @@ sctp_peeraddr(struct socket *so, struct mbuf *nam) #if defined(__FreeBSD__) || defined(__APPLE__) || defined(__Windows__) struct pr_usrreqs sctp_usrreqs = { -#if __FreeBSD_version >= 600000 +#if defined(__FreeBSD__) .pru_abort = sctp_abort, .pru_accept = sctp_accept, .pru_attach = sctp_attach, @@ -7823,45 +7825,51 @@ struct pr_usrreqs sctp_usrreqs = { .pru_sockaddr = sctp_ingetaddr, .pru_sosend = sctp_sosend, .pru_soreceive = sctp_soreceive -#else +#elif defined(__APPLE__) + .pru_abort = sctp_abort, + .pru_accept = sctp_accept, + .pru_attach = sctp_attach, + .pru_bind = sctp_bind, + .pru_connect = sctp_connect, + .pru_connect2 = pru_connect2_notsupp, + .pru_control = in_control, + .pru_detach = sctp_detach, + .pru_disconnect = sctp_disconnect, + .pru_listen = sctp_listen, + .pru_peeraddr = sctp_peeraddr, + .pru_rcvd = NULL, + .pru_rcvoob = pru_rcvoob_notsupp, + .pru_send = sctp_sendm, + .pru_sense = pru_sense_null, + .pru_shutdown = sctp_shutdown, + .pru_sockaddr = sctp_ingetaddr, + .pru_sosend = sctp_sosend, + .pru_soreceive = sctp_soreceive, + .pru_sopoll = sopoll +#elif defined(__Windows__) sctp_abort, sctp_accept, sctp_attach, sctp_bind, sctp_connect, pru_connect2_notsupp, -#if defined(__Windows__) NULL, NULL, -#else - in_control, - sctp_detach, -#endif sctp_disconnect, sctp_listen, sctp_peeraddr, NULL, pru_rcvoob_notsupp, -#if defined(__Windows__) NULL, -#else - sctp_sendm, -#endif pru_sense_null, sctp_shutdown, -#if defined(__Windows__) sctp_flush, -#endif sctp_ingetaddr, sctp_sosend, sctp_soreceive, -#if defined(__Windows__) sopoll_generic, NULL, sctp_close -#else - sopoll -#endif #endif }; #elif !defined(__Panda__) && !defined(__Userspace__) |