This file is indexed.

/usr/share/doc/libortp8-dev/html/stun__udp_8h_source.html is in libortp-dev 3.3.2-4.1ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
<!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"/>
<title>oRTP: include/ortp/stun_udp.h Source File</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">oRTP
   &#160;<span id="projectnumber">0.16.3</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</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>
    </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>
</div>
<div class="header">
  <div class="headertitle">
<div class="title">include/ortp/stun_udp.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001  <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">  The oRTP library is an RTP (Realtime Transport Protocol - rfc3550) stack.</span>
<a name="l00003"></a>00003 <span class="comment">  Copyright (C) 2001  Simon MORLAT simon.morlat@linphone.org</span>
<a name="l00004"></a>00004 <span class="comment"></span>
<a name="l00005"></a>00005 <span class="comment">  This library is free software; you can redistribute it and/or</span>
<a name="l00006"></a>00006 <span class="comment">  modify it under the terms of the GNU Lesser General Public</span>
<a name="l00007"></a>00007 <span class="comment">  License as published by the Free Software Foundation; either</span>
<a name="l00008"></a>00008 <span class="comment">  version 2.1 of the License, or (at your option) any later version.</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="comment">  This library is distributed in the hope that it will be useful,</span>
<a name="l00011"></a>00011 <span class="comment">  but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00012"></a>00012 <span class="comment">  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>
<a name="l00013"></a>00013 <span class="comment">  Lesser General Public License for more details.</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="comment">  You should have received a copy of the GNU Lesser General Public</span>
<a name="l00016"></a>00016 <span class="comment">  License along with this library; if not, write to the Free Software</span>
<a name="l00017"></a>00017 <span class="comment">  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</span>
<a name="l00018"></a>00018 <span class="comment">*/</span>
<a name="l00019"></a>00019 
<a name="l00020"></a>00020 <span class="comment">/* ====================================================================</span>
<a name="l00021"></a>00021 <span class="comment"> * The Vovida Software License, Version 1.0  *  * Copyright (c) 2000 Vovida Networks, Inc.  All rights reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: *  * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. *  * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in *    the documentation and/or other materials provided with the *    distribution. *  * 3. The names &quot;VOCAL&quot;, &quot;Vovida Open Communication Application Library&quot;, *    and &quot;Vovida Open Communication Application Library (VOCAL)&quot; must *    not be used to endorse or promote products derived from this *    software without prior written permission. For written *    permission, please contact vocal@vovida.org. * * 4. Products derived from this software may not be called &quot;VOCAL&quot;, nor *    may &quot;VOCAL&quot; appear in their name, without prior written *    permission of Vovida Networks, Inc. *  * THIS SOFTWARE IS PROVIDED &quot;AS IS&quot; AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND * NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL VOVIDA * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH * DAMAGE. *  * ==================================================================== *  * This software consists of voluntary contributions made by Vovida * Networks, Inc. and many individuals on behalf of Vovida Networks, * Inc.  For more information on Vovida Networks, Inc., please see * &lt;http://www.vovida.org/&gt;.</span>
<a name="l00022"></a>00022 <span class="comment"> *</span>
<a name="l00023"></a>00023 <span class="comment"> */</span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 <span class="preprocessor">#ifndef __STUN_UDP_H__</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define __STUN_UDP_H__</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span>
<a name="l00028"></a>00028 <span class="preprocessor">#ifndef __cplusplus</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="comment">//#define bool int</span>
<a name="l00030"></a>00030 <span class="comment">//#define false 0</span>
<a name="l00031"></a>00031 <span class="comment">//#define true 1</span>
<a name="l00032"></a>00032 <span class="preprocessor">#endif</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00034"></a>00034 <span class="preprocessor">#ifdef __MACH__</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/socket.h&gt;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef _SOCKLEN_T</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">int</span> socklen_t;
<a name="l00038"></a>00038 <span class="preprocessor">#endif</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &lt;ortp/port.h&gt;</span>
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 <span class="preprocessor">#if !defined(_WIN32_WCE)</span>
<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#include &lt;errno.h&gt;</span>
<a name="l00045"></a>00045 <span class="preprocessor">#endif</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span>
<a name="l00047"></a>00047 <span class="preprocessor">#if defined(WIN32) || defined(_WIN32_WCE)</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define snprintf _snprintf</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="preprocessor">#include &lt;winsock2.h&gt;</span>
<a name="l00051"></a>00051 <span class="comment">/* #include &lt;io.h&gt; */</span>
<a name="l00052"></a>00052 
<a name="l00053"></a>00053 <span class="keyword">typedef</span> <span class="keywordtype">int</span> socklen_t;
<a name="l00054"></a>00054 <span class="keyword">typedef</span> SOCKET Socket;
<a name="l00055"></a>00055 
<a name="l00056"></a>00056 <span class="preprocessor">#define EWOULDBLOCK             WSAEWOULDBLOCK</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#define EINPROGRESS             WSAEINPROGRESS</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#define EALREADY                WSAEALREADY</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#define ENOTSOCK                WSAENOTSOCK</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#define EDESTADDRREQ            WSAEDESTADDRREQ</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#define EMSGSIZE                WSAEMSGSIZE</span>
<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#define EPROTOTYPE              WSAEPROTOTYPE</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define ENOPROTOOPT             WSAENOPROTOOPT</span>
<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#define EPROTONOSUPPORT         WSAEPROTONOSUPPORT</span>
<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="preprocessor">#define ESOCKTNOSUPPORT         WSAESOCKTNOSUPPORT</span>
<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#define EOPNOTSUPP              WSAEOPNOTSUPP</span>
<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor">#define EPFNOSUPPORT            WSAEPFNOSUPPORT</span>
<a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor">#define EAFNOSUPPORT            WSAEAFNOSUPPORT</span>
<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#define EADDRINUSE              WSAEADDRINUSE</span>
<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#define EADDRNOTAVAIL           WSAEADDRNOTAVAIL</span>
<a name="l00071"></a>00071 <span class="preprocessor"></span><span class="preprocessor">#define ENETDOWN                WSAENETDOWN</span>
<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#define ENETUNREACH             WSAENETUNREACH</span>
<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="preprocessor">#define ENETRESET               WSAENETRESET</span>
<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="preprocessor">#define ECONNABORTED            WSAECONNABORTED</span>
<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="preprocessor">#define ECONNRESET              WSAECONNRESET</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#define ENOBUFS                 WSAENOBUFS</span>
<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="preprocessor">#define EISCONN                 WSAEISCONN</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor">#define ENOTCONN                WSAENOTCONN</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#define ESHUTDOWN               WSAESHUTDOWN</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#define ETOOMANYREFS            WSAETOOMANYREFS</span>
<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define ETIMEDOUT               WSAETIMEDOUT</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#define ECONNREFUSED            WSAECONNREFUSED</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#define ELOOP                   WSAELOOP</span>
<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#define EHOSTDOWN               WSAEHOSTDOWN</span>
<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#define EHOSTUNREACH            WSAEHOSTUNREACH</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#define EPROCLIM                WSAEPROCLIM</span>
<a name="l00087"></a>00087 <span class="preprocessor"></span><span class="preprocessor">#define EUSERS                  WSAEUSERS</span>
<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#define EDQUOT                  WSAEDQUOT</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#define ESTALE                  WSAESTALE</span>
<a name="l00090"></a>00090 <span class="preprocessor"></span><span class="preprocessor">#define EREMOTE                 WSAEREMOTE</span>
<a name="l00091"></a>00091 <span class="preprocessor"></span>
<a name="l00092"></a>00092 <span class="keyword">typedef</span> LONGLONG Int64; 
<a name="l00093"></a>00093 
<a name="l00094"></a>00094 <span class="preprocessor">#else</span>
<a name="l00095"></a>00095 <span class="preprocessor"></span>
<a name="l00096"></a>00096 <span class="keyword">typedef</span> <span class="keywordtype">int</span> Socket;
<a name="l00097"></a>00097 <span class="preprocessor">#define INVALID_SOCKET -1</span>
<a name="l00098"></a>00098 <span class="preprocessor"></span><span class="preprocessor">#define SOCKET_ERROR -1</span>
<a name="l00099"></a>00099 <span class="preprocessor"></span>
<a name="l00100"></a>00100 <span class="preprocessor">#define closesocket(fd) close(fd)</span>
<a name="l00101"></a>00101 <span class="preprocessor"></span>
<a name="l00102"></a>00102 <span class="preprocessor">#define WSANOTINITIALISED  EPROTONOSUPPORT</span>
<a name="l00103"></a>00103 <span class="preprocessor"></span>
<a name="l00104"></a>00104 <span class="preprocessor">#endif</span>
<a name="l00105"></a>00105 <span class="preprocessor"></span>
<a name="l00106"></a>00106 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00107"></a>00107 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span>{
<a name="l00108"></a>00108 <span class="preprocessor">#endif</span>
<a name="l00109"></a>00109 <span class="preprocessor"></span>
<a name="l00110"></a>00110 <span class="keywordtype">int</span> getErrno(<span class="keywordtype">void</span>);
<a name="l00111"></a>00111 
<a name="l00112"></a>00112 <span class="comment">/* Open a UDP socket to receive on the given port - if port is 0, pick a a</span>
<a name="l00113"></a>00113 <span class="comment">   port, if interfaceIp!=0 then use ONLY the interface specified instead of</span>
<a name="l00114"></a>00114 <span class="comment">   all of them  */</span>
<a name="l00115"></a>00115 Socket
<a name="l00116"></a>00116 openPort( <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> port, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> interfaceIp);
<a name="l00117"></a>00117 
<a name="l00118"></a>00118 
<a name="l00119"></a>00119 <span class="comment">/* recive a UDP message */</span>
<a name="l00120"></a>00120 bool_t 
<a name="l00121"></a>00121 getMessage( Socket fd, <span class="keywordtype">char</span>* buf, <span class="keywordtype">int</span>* len,
<a name="l00122"></a>00122             <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* srcIp, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>* srcPort);
<a name="l00123"></a>00123 
<a name="l00124"></a>00124 
<a name="l00125"></a>00125 <span class="comment">/* send a UDP message */</span>
<a name="l00126"></a>00126 bool_t 
<a name="l00127"></a>00127 sendMessage( Socket fd, <span class="keywordtype">char</span>* msg, <span class="keywordtype">int</span> len, 
<a name="l00128"></a>00128              <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dstIp, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> dstPort);
<a name="l00129"></a>00129 
<a name="l00130"></a>00130 
<a name="l00131"></a>00131 <span class="comment">/* set up network - does nothing in unix but needed for windows */</span>
<a name="l00132"></a>00132 <span class="keywordtype">void</span>
<a name="l00133"></a>00133 initNetwork(<span class="keywordtype">void</span>);
<a name="l00134"></a>00134 
<a name="l00135"></a>00135 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00136"></a>00136 <span class="preprocessor"></span>}
<a name="l00137"></a>00137 <span class="preprocessor">#endif</span>
<a name="l00138"></a>00138 <span class="preprocessor"></span>
<a name="l00139"></a>00139 <span class="preprocessor">#endif</span>
</pre></div></div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Fri Mar 9 2012 18:31:57 for oRTP by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>