summaryrefslogtreecommitdiffstats
path: root/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/doc-syms.tl31
-rw-r--r--stdlib/socket.tl7
2 files changed, 38 insertions, 0 deletions
diff --git a/stdlib/doc-syms.tl b/stdlib/doc-syms.tl
index 8875254b..3de245da 100644
--- a/stdlib/doc-syms.tl
+++ b/stdlib/doc-syms.tl
@@ -1024,6 +1024,17 @@
("invoke-catch" "N-0337FC1B")
("ip" "N-011CFC0C")
("ipf" "N-012A7E6A")
+ ("ipproto-ip" "N-031C01CB")
+ ("ipproto-ipv6" "N-031C01CB")
+ ("ipproto-tcp" "N-031C01CB")
+ ("ipproto-udp" "N-031C01CB")
+ ("ipv6-join-group" "N-001E8B40")
+ ("ipv6-leave-group" "N-001E8B40")
+ ("ipv6-multicast-hops" "N-001E8B40")
+ ("ipv6-multicast-if" "N-001E8B40")
+ ("ipv6-multicast-loop" "N-001E8B40")
+ ("ipv6-unicast-hops" "N-001E8B40")
+ ("ipv6-v6only" "N-001E8B40")
("iread" "N-03FE5500")
("isatty" "N-03709E8A")
("isec" "N-0385B074")
@@ -1752,15 +1763,33 @@
("slots" "N-00E90177")
("slotset" "N-02657437")
("sme" "N-008C6621")
+ ("so-acceptconn" "N-02FFF4E8")
+ ("so-broadcast" "N-02FFF4E8")
+ ("so-debug" "N-02FFF4E8")
+ ("so-dontroute" "N-02FFF4E8")
+ ("so-error" "N-02FFF4E8")
+ ("so-keepalive" "N-02FFF4E8")
+ ("so-linger" "N-02FFF4E8")
+ ("so-oobinline" "N-02FFF4E8")
+ ("so-rcvbuf" "N-02FFF4E8")
+ ("so-rcvlowat" "N-02FFF4E8")
+ ("so-rcvtimeo" "N-02FFF4E8")
+ ("so-reuseaddr" "N-02FFF4E8")
+ ("so-sndbuf" "N-02FFF4E8")
+ ("so-sndlowat" "N-02FFF4E8")
+ ("so-sndtimeo" "N-02FFF4E8")
+ ("so-type" "N-02FFF4E8")
("sock-accept" "N-00AF0FE8")
("sock-bind" "N-02B052CF")
("sock-connect" "N-00E5DFD4")
("sock-dgram" "N-01D17D22")
("sock-family" "N-0323EB36")
("sock-listen" "N-02F624A8")
+ ("sock-opt" "N-022F35E2")
("sock-peer" "N-015ABEC7")
("sock-recv-timeout" "N-03DF15F2")
("sock-send-timeout" "N-03DF15F2")
+ ("sock-set-opt" "N-02A4F848")
("sock-set-peer" "N-01FE18ED")
("sock-shutdown" "N-0222BA70")
("sock-stream" "N-01D17D22")
@@ -1770,6 +1799,7 @@
("sockaddr-in6" "N-013DD169")
("sockaddr-un" "N-01DD05D2")
("socklen-t" "N-01153D9E")
+ ("sol-socket" "N-031C01CB")
("some" "D-0040")
("sort" "N-01FE5176")
("sort-group" "N-01E65DDC")
@@ -1891,6 +1921,7 @@
("tcoflush" "N-0279ED46")
("tcooff" "N-02173FF9")
("tcoon" "N-02173FF9")
+ ("tcp-nodelay" "N-02C5CE3B")
("tcsadrain" "N-02C6ECF5")
("tcsaflush" "N-02C6ECF5")
("tcsanow" "N-02C6ECF5")
diff --git a/stdlib/socket.tl b/stdlib/socket.tl
index 0b39151e..eac123be 100644
--- a/stdlib/socket.tl
+++ b/stdlib/socket.tl
@@ -272,3 +272,10 @@
^(macrolet ((,getter () ^(sock-peer ,',sock))
(,setter (val) ^(sock-set-peer ,',sock ,val)))
,body)))
+
+(defplace (sock-opt sock level option : type) body
+ (getter setter
+ ^(macrolet ((,getter () ^(sock-opt ,',sock ,',level ,',option ,',type))
+ (,setter (val)
+ ^(sock-set-opt ,',sock ,',level ,',option ,val ,',type)))
+ ,body)))