version 1.46, 2011/12/12 22:00:37
|
version 1.47, 2011/12/12 22:42:36
|
Line 148 $802 Constant O_NONBLOCK|O_RDWR
|
Line 148 $802 Constant O_NONBLOCK|O_RDWR
|
41 Constant IPPROTO_IPV6 |
41 Constant IPPROTO_IPV6 |
10 Constant IP_MTU_DISCOVER |
10 Constant IP_MTU_DISCOVER |
23 Constant IPV6_MTU_DISCOVER |
23 Constant IPV6_MTU_DISCOVER |
|
67 Constant IP_DONTFRAG |
2 Constant IP_PMTUDISC_DO |
2 Constant IP_PMTUDISC_DO |
4 Constant F_SETFL |
4 Constant F_SETFL |
$001 Constant POLLIN |
$001 Constant POLLIN |
Line 168 $004 Constant POLLOUT
|
Line 169 $004 Constant POLLOUT
|
: new-udp-socket ( -- socket ) |
: new-udp-socket ( -- socket ) |
PF_INET SOCK_DGRAM 0 socket |
PF_INET SOCK_DGRAM 0 socket |
dup 0<= abort" no free socket" |
dup 0<= abort" no free socket" |
[IFUNDEF] darwin |
[IFDEF] darwin |
|
dup IPPROTO_IP IP_DONTFRAG sockopt-on 1 over l! 4 |
|
[ELSE] |
dup IPPROTO_IP IP_MTU_DISCOVER sockopt-on IP_PMTUDISC_DO over l! 4 |
dup IPPROTO_IP IP_MTU_DISCOVER sockopt-on IP_PMTUDISC_DO over l! 4 |
setsockopt drop |
[THEN] |
[THEN] ; |
setsockopt drop ; |
|
|
: new-udp-socket6 ( -- socket ) |
: new-udp-socket6 ( -- socket ) |
PF_INET6 SOCK_DGRAM 0 socket |
PF_INET6 SOCK_DGRAM 0 socket |
dup 0<= abort" no free socket" |
dup 0<= abort" no free socket" |
[IFUNDEF] darwin |
[IFDEF] darwin |
|
dup IPPROTO_IP IP_DONTFRAG sockopt-on 1 over l! 4 |
|
[ELSE] |
dup IPPROTO_IPV6 IPV6_MTU_DISCOVER sockopt-on IP_PMTUDISC_DO over l! 4 |
dup IPPROTO_IPV6 IPV6_MTU_DISCOVER sockopt-on IP_PMTUDISC_DO over l! 4 |
setsockopt drop |
|
[THEN] |
[THEN] |
|
setsockopt drop |
dup IPPROTO_IPV6 IPV6_V6ONLY sockopt-on dup on 4 setsockopt drop ; |
dup IPPROTO_IPV6 IPV6_V6ONLY sockopt-on dup on 4 setsockopt drop ; |
|
|
\ getaddrinfo based open-socket |
\ getaddrinfo based open-socket |