<html lang="en"> <head> <title>Socket Options - SBCL 1.0.31 User Manual</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="SBCL 1.0.31 User Manual"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Networking.html#Networking" title="Networking"> <link rel="prev" href="General-Sockets.html#General-Sockets" title="General Sockets"> <link rel="next" href="INET-Domain-Sockets.html#INET-Domain-Sockets" title="INET Domain Sockets"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- This manual is part of the SBCL software system. See the `README' file for more information. This manual is largely derived from the manual for the CMUCL system, which was produced at Carnegie Mellon University and later released into the public domain. This manual is in the public domain and is provided with absolutely no warranty. See the `COPYING' and `CREDITS' files for more information. --> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } --></style> </head> <body> <div class="node"> <a name="Socket-Options"></a> <p> Next: <a rel="next" accesskey="n" href="INET-Domain-Sockets.html#INET-Domain-Sockets">INET Domain Sockets</a>, Previous: <a rel="previous" accesskey="p" href="General-Sockets.html#General-Sockets">General Sockets</a>, Up: <a rel="up" accesskey="u" href="Networking.html#Networking">Networking</a> <hr> </div> <h3 class="section">14.3 Socket Options</h3> <p>A subset of socket options are supported, using a fairly general framework which should make it simple to add more as required - see <samp><span class="file">SYS:CONTRIB;SB-BSD-SOCKETS:SOCKOPT.LISP</span></samp> for details. The name mapping from C is fairly straightforward: <code>SO_RCVLOWAT</code> becomes <code>sockopt-receive-low-water</code> and <code>(setf sockopt-receive-low-water)</code>. <p><a name="Function-sb_002dbsd_002dsockets_003asockopt_002dreuse_002daddress"></a> <div class="defun"> — Function: <b>sb-bsd-sockets:sockopt-reuse-address</b><var> socket<a name="index-sb_002dbsd_002dsockets_003asockopt_002dreuse_002daddress-547"></a></var><br> <blockquote><p><a name="index-sb_002dbsd_002dsockets_003asockopt_002dreuse_002daddress-548"></a>Return the value of the <code>so-reuseaddr</code> socket option for <code>socket</code>. This can also be updated with <code>setf</code>. </p></blockquote></div> <p><a name="Function-sb_002dbsd_002dsockets_003asockopt_002dkeep_002dalive"></a> <div class="defun"> — Function: <b>sb-bsd-sockets:sockopt-keep-alive</b><var> socket<a name="index-sb_002dbsd_002dsockets_003asockopt_002dkeep_002dalive-549"></a></var><br> <blockquote><p><a name="index-sb_002dbsd_002dsockets_003asockopt_002dkeep_002dalive-550"></a>Return the value of the <code>so-keepalive</code> socket option for <code>socket</code>. This can also be updated with <code>setf</code>. </p></blockquote></div> <p><a name="Function-sb_002dbsd_002dsockets_003asockopt_002doob_002dinline"></a> <div class="defun"> — Function: <b>sb-bsd-sockets:sockopt-oob-inline</b><var> socket<a name="index-sb_002dbsd_002dsockets_003asockopt_002doob_002dinline-551"></a></var><br> <blockquote><p><a name="index-sb_002dbsd_002dsockets_003asockopt_002doob_002dinline-552"></a>Return the value of the <code>so-oobinline</code> socket option for <code>socket</code>. This can also be updated with <code>setf</code>. </p></blockquote></div> <p><a name="Function-sb_002dbsd_002dsockets_003asockopt_002dbsd_002dcompatible"></a> <div class="defun"> — Function: <b>sb-bsd-sockets:sockopt-bsd-compatible</b><var> socket<a name="index-sb_002dbsd_002dsockets_003asockopt_002dbsd_002dcompatible-553"></a></var><br> <blockquote><p><a name="index-sb_002dbsd_002dsockets_003asockopt_002dbsd_002dcompatible-554"></a>Return the value of the <code>so-bsdcompat</code> socket option for <code>socket</code>. This can also be updated with <code>setf</code>. Available only on Linux. </p></blockquote></div> <p><a name="Function-sb_002dbsd_002dsockets_003asockopt_002dpass_002dcredentials"></a> <div class="defun"> — Function: <b>sb-bsd-sockets:sockopt-pass-credentials</b><var> socket<a name="index-sb_002dbsd_002dsockets_003asockopt_002dpass_002dcredentials-555"></a></var><br> <blockquote><p><a name="index-sb_002dbsd_002dsockets_003asockopt_002dpass_002dcredentials-556"></a>Return the value of the <code>so-passcred</code> socket option for <code>socket</code>. This can also be updated with <code>setf</code>. Available only on Linux. </p></blockquote></div> <p><a name="Function-sb_002dbsd_002dsockets_003asockopt_002ddebug"></a> <div class="defun"> — Function: <b>sb-bsd-sockets:sockopt-debug</b><var> socket<a name="index-sb_002dbsd_002dsockets_003asockopt_002ddebug-557"></a></var><br> <blockquote><p><a name="index-sb_002dbsd_002dsockets_003asockopt_002ddebug-558"></a>Return the value of the <code>so-debug</code> socket option for <code>socket</code>. This can also be updated with <code>setf</code>. </p></blockquote></div> <p><a name="Function-sb_002dbsd_002dsockets_003asockopt_002ddont_002droute"></a> <div class="defun"> — Function: <b>sb-bsd-sockets:sockopt-dont-route</b><var> socket<a name="index-sb_002dbsd_002dsockets_003asockopt_002ddont_002droute-559"></a></var><br> <blockquote><p><a name="index-sb_002dbsd_002dsockets_003asockopt_002ddont_002droute-560"></a>Return the value of the <code>so-dontroute</code> socket option for <code>socket</code>. This can also be updated with <code>setf</code>. </p></blockquote></div> <p><a name="Function-sb_002dbsd_002dsockets_003asockopt_002dbroadcast"></a> <div class="defun"> — Function: <b>sb-bsd-sockets:sockopt-broadcast</b><var> socket<a name="index-sb_002dbsd_002dsockets_003asockopt_002dbroadcast-561"></a></var><br> <blockquote><p><a name="index-sb_002dbsd_002dsockets_003asockopt_002dbroadcast-562"></a>Return the value of the <code>so-broadcast</code> socket option for <code>socket</code>. This can also be updated with <code>setf</code>. </p></blockquote></div> <p><a name="Function-sb_002dbsd_002dsockets_003asockopt_002dtcp_002dnodelay"></a> <div class="defun"> — Function: <b>sb-bsd-sockets:sockopt-tcp-nodelay</b><var> socket<a name="index-sb_002dbsd_002dsockets_003asockopt_002dtcp_002dnodelay-563"></a></var><br> <blockquote><p><a name="index-sb_002dbsd_002dsockets_003asockopt_002dtcp_002dnodelay-564"></a>Return the value of the <code>tcp-nodelay</code> socket option for <code>socket</code>. This can also be updated with <code>setf</code>. </p></blockquote></div> </body></html>