<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title> Node.js v0.10.24 Manual &amp; Documentation</title>
  <link rel="stylesheet" href="assets/style.css">
  <link rel="stylesheet" href="assets/sh.css">
  <link rel="canonical" href="http://nodejs.org/api/index.html">
</head>
<body class="alt apidoc" id="api-section-index">
    <div id="intro" class="interior">
        <a href="/" title="Go back to the home page">
            <img id="logo" src="http://nodejs.org/images/logo-light.png" alt="node.js">
        </a>
    </div>
    <div id="content" class="clearfix">
        <div id="column2" class="interior">
            <ul>
                <li><a href="/" class="home">Home</a></li>
                <li><a href="/download/" class="download">Download</a></li>
                <li><a href="/about/" class="about">About</a></li>
                <li><a href="http://npmjs.org/" class="npm">npm Registry</a></li>
                <li><a href="http://nodejs.org/api/" class="docs current">Docs</a></li>
                <li><a href="http://blog.nodejs.org" class="blog">Blog</a></li>
                <li><a href="/community/" class="community">Community</a></li>
                <li><a href="/logos/" class="logos">Logos</a></li>
                <li><a href="http://jobs.nodejs.org/" class="jobs">Jobs</a></li>
            </ul>
            <p class="twitter"><a href="http://twitter.com/nodejs">@nodejs</a></p>
        </div>

        <div id="column1" class="interior">
          <header>
            <h1>Node.js v0.10.24 Manual &amp; Documentation</h1>
            <div id="gtoc">
              <p>
                <a href="index.html" name="toc">Index</a> |
                <a href="all.html">View on single page</a> |
                <a href="index.json">View as JSON</a>
              </p>
            </div>
            <hr>
          </header>

          <div id="toc">
            <h2>Table of Contents</h2>
            
          </div>

          <div id="apicontent">
            <ul>
<li><a href="documentation.html">About these Docs</a></li>
<li><a href="synopsis.html">Synopsis</a></li>
<li><a href="assert.html">Assertion Testing</a></li>
<li><a href="buffer.html">Buffer</a></li>
<li><a href="addons.html">C/C++ Addons</a></li>
<li><a href="child_process.html">Child Processes</a></li>
<li><a href="cluster.html">Cluster</a></li>
<li><a href="console.html">Console</a></li>
<li><a href="crypto.html">Crypto</a></li>
<li><a href="debugger.html">Debugger</a></li>
<li><a href="dns.html">DNS</a></li>
<li><a href="domain.html">Domain</a></li>
<li><a href="events.html">Events</a></li>
<li><a href="fs.html">File System</a></li>
<li><a href="globals.html">Globals</a></li>
<li><a href="http.html">HTTP</a></li>
<li><a href="https.html">HTTPS</a></li>
<li><a href="modules.html">Modules</a></li>
<li><a href="net.html">Net</a></li>
<li><a href="os.html">OS</a></li>
<li><a href="path.html">Path</a></li>
<li><a href="process.html">Process</a></li>
<li><a href="punycode.html">Punycode</a></li>
<li><a href="querystring.html">Query Strings</a></li>
<li><a href="readline.html">Readline</a></li>
<li><a href="repl.html">REPL</a></li>
<li><a href="stream.html">Stream</a></li>
<li><a href="string_decoder.html">String Decoder</a></li>
<li><a href="timers.html">Timers</a></li>
<li><a href="tls.html">TLS/SSL</a></li>
<li><a href="tty.html">TTY</a></li>
<li><a href="dgram.html">UDP/Datagram</a></li>
<li><a href="url.html">URL</a></li>
<li><a href="util.html">Utilities</a></li>
<li><a href="vm.html">VM</a></li>
<li><a href="zlib.html">ZLIB</a></li>
</ul>

          </div>
        </div>
    </div>
    <div id="footer">
        <a href="http://joyent.com" class="joyent-logo">Joyent</a>
        <ul class="clearfix">
            <li><a href="/">Node.js</a></li>
            <li><a href="/download/">Download</a></li>
            <li><a href="/about/">About</a></li>
            <li><a href="http://npmjs.org/">npm Registry</a></li>
            <li><a href="http://nodejs.org/api/">Docs</a></li>
            <li><a href="http://blog.nodejs.org">Blog</a></li>
            <li><a href="/community/">Community</a></li>
            <li><a href="/logos/">Logos</a></li>
            <li><a href="http://jobs.nodejs.org/">Jobs</a></li>
            <li><a href="http://twitter.com/nodejs" class="twitter">@nodejs</a></li>
        </ul>

        <p>Copyright <a href="http://joyent.com/">Joyent, Inc</a>, Node.js is a <a href="/trademark-policy.pdf">trademark</a> of Joyent, Inc. View <a href="https://raw.github.com/joyent/node/v0.10.24/LICENSE">license</a>.</p>
    </div>

  <script src="../sh_main.js"></script>
  <script src="../sh_javascript.min.js"></script>
  <script>highlight(undefined, undefined, 'pre');</script>
  <script>
    window._gaq = [['_setAccount', 'UA-10874194-2'], ['_trackPageview']];
    (function(d, t) {
      var g = d.createElement(t),
          s = d.getElementsByTagName(t)[0];
      g.src = '//www.google-analytics.com/ga.js';
      s.parentNode.insertBefore(g, s);
    }(document, 'script'));
  </script>
</body>
</html>

