pcap_setnonblock.html 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <html><head>
  4. <title>3PCAP man page</title>
  5. <meta name="generator" content="roffit">
  6. <STYLE type="text/css">
  7. pre {
  8. overflow: auto;
  9. margin: 0;
  10. }
  11. P.level0, pre.level0 {
  12. padding-left: 2em;
  13. }
  14. P.level1, pre.level1 {
  15. padding-left: 4em;
  16. }
  17. P.level2, pre.level2 {
  18. padding-left: 6em;
  19. }
  20. span.emphasis {
  21. font-style: italic;
  22. }
  23. span.bold {
  24. font-weight: bold;
  25. }
  26. span.manpage {
  27. font-weight: bold;
  28. }
  29. h2.nroffsh {
  30. background-color: #e0e0e0;
  31. }
  32. span.nroffip {
  33. font-weight: bold;
  34. font-size: 120%;
  35. font-family: monospace;
  36. }
  37. p.roffit {
  38. text-align: center;
  39. font-size: 80%;
  40. }
  41. </STYLE>
  42. </head><body>
  43. <p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
  44. <p class="level0">pcap_setnonblock, pcap_getnonblock - set or get the state of non-blocking mode on a capture device <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
  45. <p class="level0"><pre class="level0">
  46. &#35;include &lt;pcap/pcap.h&gt;
  47. <pre class="level0">
  48. char errbuf[PCAP_ERRBUF_SIZE];
  49. int pcap_setnonblock(pcap_t *p, int nonblock, char *errbuf);
  50. int pcap_getnonblock(pcap_t *p, char *errbuf);
  51. </pre>
  52. <p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
  53. <p class="level0"><span Class="bold">pcap_setnonblock</span>() puts a capture handle into ``non-blocking&#39;&#39; mode, or takes it out of ``non-blocking&#39;&#39; mode, depending on whether the <span Class="emphasis">nonblock</span> argument is non-zero or zero. It has no effect on ``savefiles&#39;&#39;. If there is an error, <span Class="bold">PCAP_ERROR</span> is returned and <span Class="emphasis">errbuf</span> is filled in with an appropriate error message; otherwise, <span Class="bold">0</span> is returned.
  54. <p class="level0">In ``non-blocking&#39;&#39; mode, an attempt to read from the capture descriptor with <span Class="bold">pcap_dispatch</span>(3PCAP) and <a Class="bold" href="./pcap_next_ex.html">pcap_next_ex</a>(3PCAP) will, if no packets are currently available to be read, return <span Class="bold">0</span> immediately rather than blocking waiting for packets to arrive.
  55. <p class="level0"><a Class="bold" href="./pcap_loop.html">pcap_loop</a>(3PCAP) will loop forever, consuming CPU time when no packets are currently available; <span Class="bold">pacp_dispatch</span>() should be used instead. <span Class="bold">pcap_next</span>(3PCAP) will return <span Class="bold">NULL</span> if there are no packets currently available to read; this is indistinguishable from an error, so <span Class="bold">pcap_next_ex</span>() should be used instead.
  56. <p class="level0">When first activated with <a Class="bold" href="./pcap_activate.html">pcap_activate</a>(3PCAP) or opened with <a Class="bold" href="./pcap_open_live.html">pcap_open_live</a>(3PCAP)<span Class="bold">,</span> a capture handle is not in ``non-blocking mode&#39;&#39;; a call to <span Class="bold">pcap_setnonblock</span>() is required in order to put it into ``non-blocking&#39;&#39; mode. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
  57. <p class="level0"><span Class="bold">pcap_getnonblock</span>() returns the current ``non-blocking&#39;&#39; state of the capture descriptor; it always returns <span Class="bold">0</span> on ``savefiles&#39;&#39;. If called on a capture handle that has been created but not activated, <span Class="bold">PCAP_ERROR_NOT_ACTIVATED</span> is returned. If there is another error, <span Class="bold">PCAP_ERROR</span> is returned and <span Class="emphasis">errbuf</span> is filled in with an appropriate error message.
  58. <p class="level0"><span Class="emphasis">errbuf</span> is assumed to be able to hold at least <span Class="bold">PCAP_ERRBUF_SIZE</span> chars. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
  59. <p class="level0"><a Class="bold" href="./pcap.html">pcap</a>(3PCAP), <a Class="bold" href="./pcap_next_ex.html">pcap_next_ex</a>(3PCAP), <a Class="bold" href="./pcap_geterr.html">pcap_geterr</a>(3PCAP) <p class="roffit">
  60. This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
  61. </body></html>