This file is indexed.

/usr/share/doc/libortp8-dev/html/rtp_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
<!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/rtp.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/rtp.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 
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef RTP_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define RTP_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;ortp/port.h&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;ortp/str_utils.h&gt;</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 <span class="preprocessor">#define IPMAXLEN 20</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define UDP_MAX_SIZE 1500</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define RTP_FIXED_HEADER_SIZE 12</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define RTP_DEFAULT_JITTER_TIME 80      </span><span class="comment">/*miliseconds*/</span>
<a name="l00031"></a>00031 <span class="preprocessor">#define RTP_DEFAULT_MULTICAST_TTL 5     </span><span class="comment">/*hops*/</span>
<a name="l00032"></a>00032 <span class="preprocessor">#define RTP_DEFAULT_MULTICAST_LOOPBACK 0  </span><span class="comment">/*false*/</span>
<a name="l00033"></a>00033 <span class="preprocessor">#define RTP_DEFAULT_DSCP 0x00  </span><span class="comment">/*best effort*/</span>
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 
<a name="l00037"></a><a class="code" href="structrtp__header.html">00037</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structrtp__header.html">rtp_header</a>
<a name="l00038"></a>00038 {
<a name="l00039"></a>00039 <span class="preprocessor">#ifdef ORTP_BIGENDIAN</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>        uint16_t version:2;
<a name="l00041"></a>00041         uint16_t padbit:1;
<a name="l00042"></a>00042         uint16_t extbit:1;
<a name="l00043"></a>00043         uint16_t cc:4;
<a name="l00044"></a>00044         uint16_t markbit:1;
<a name="l00045"></a>00045         uint16_t paytype:7;
<a name="l00046"></a>00046 <span class="preprocessor">#else</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>        uint16_t cc:4;
<a name="l00048"></a>00048         uint16_t extbit:1;
<a name="l00049"></a>00049         uint16_t padbit:1;
<a name="l00050"></a>00050         uint16_t version:2;
<a name="l00051"></a>00051         uint16_t paytype:7;
<a name="l00052"></a>00052         uint16_t markbit:1;
<a name="l00053"></a>00053 <span class="preprocessor">#endif</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span>        uint16_t seq_number;
<a name="l00055"></a>00055         uint32_t timestamp;
<a name="l00056"></a>00056         uint32_t ssrc;
<a name="l00057"></a>00057         uint32_t csrc[16];
<a name="l00058"></a>00058 } <a class="code" href="structrtp__header.html">rtp_header_t</a>;
<a name="l00059"></a>00059 
<a name="l00060"></a>00060 
<a name="l00061"></a>00061 
<a name="l00062"></a>00062 
<a name="l00063"></a><a class="code" href="structrtp__stats.html">00063</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structrtp__stats.html">rtp_stats</a>
<a name="l00064"></a>00064 {
<a name="l00065"></a>00065         uint64_t packet_sent;
<a name="l00066"></a>00066         uint64_t sent;          <span class="comment">/* bytes sent */</span>
<a name="l00067"></a>00067         uint64_t recv;          <span class="comment">/* bytes of payload received and delivered in time to the application */</span>
<a name="l00068"></a>00068         uint64_t hw_recv;               <span class="comment">/* bytes of payload received */</span>
<a name="l00069"></a>00069         uint64_t packet_recv;   <span class="comment">/* number of packets received */</span>
<a name="l00070"></a>00070         uint64_t unavaillable;  <span class="comment">/* totally useless*/</span>
<a name="l00071"></a>00071         uint64_t outoftime;             <span class="comment">/* number of packets that were received too late */</span>
<a name="l00072"></a>00072         uint64_t cum_packet_loss; <span class="comment">/* cumulative number of packet lost */</span>
<a name="l00073"></a>00073         uint64_t bad;                   <span class="comment">/* packets that did not appear to be RTP */</span>
<a name="l00074"></a>00074         uint64_t discarded;             <span class="comment">/* incoming packets discarded because the queue exceeds its max size */</span>
<a name="l00075"></a>00075 } <a class="code" href="structrtp__stats.html">rtp_stats_t</a>;
<a name="l00076"></a>00076 
<a name="l00077"></a>00077 <span class="preprocessor">#define RTP_TIMESTAMP_IS_NEWER_THAN(ts1,ts2) \</span>
<a name="l00078"></a>00078 <span class="preprocessor">        ((uint32_t)((uint32_t)(ts1) - (uint32_t)(ts2))&lt; (uint32_t)(1&lt;&lt;31))</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span>
<a name="l00080"></a>00080 <span class="preprocessor">#define RTP_TIMESTAMP_IS_STRICTLY_NEWER_THAN(ts1,ts2) \</span>
<a name="l00081"></a>00081 <span class="preprocessor">        ( ((uint32_t)((uint32_t)(ts1) - (uint32_t)(ts2))&lt; (uint32_t)(1&lt;&lt;31)) &amp;&amp; (ts1)!=(ts2) )</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span>
<a name="l00083"></a>00083 <span class="preprocessor">#define TIME_IS_NEWER_THAN(t1,t2) RTP_TIMESTAMP_IS_NEWER_THAN(t1,t2)</span>
<a name="l00084"></a>00084 <span class="preprocessor"></span>
<a name="l00085"></a>00085 <span class="preprocessor">#define TIME_IS_STRICTLY_NEWER_THAN(t1,t2) RTP_TIMESTAMP_IS_STRICTLY_NEWER_THAN(t1,t2)</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span>
<a name="l00087"></a>00087 
<a name="l00088"></a>00088 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span>{
<a name="l00090"></a>00090 <span class="preprocessor">#endif</span>
<a name="l00091"></a>00091 <span class="preprocessor"></span>
<a name="l00092"></a>00092 <span class="comment">/* packet api */</span>
<a name="l00093"></a>00093 <span class="comment">/* the first argument is a mblk_t. The header is supposed to be not splitted  */</span>
<a name="l00094"></a>00094 <span class="preprocessor">#define rtp_set_markbit(mp,value)               ((rtp_header_t*)((mp)-&gt;b_rptr))-&gt;markbit=(value)</span>
<a name="l00095"></a>00095 <span class="preprocessor"></span><span class="preprocessor">#define rtp_set_seqnumber(mp,seq)       ((rtp_header_t*)((mp)-&gt;b_rptr))-&gt;seq_number=(seq)</span>
<a name="l00096"></a>00096 <span class="preprocessor"></span><span class="preprocessor">#define rtp_set_timestamp(mp,ts)        ((rtp_header_t*)((mp)-&gt;b_rptr))-&gt;timestamp=(ts)</span>
<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="preprocessor">#define rtp_set_ssrc(mp,_ssrc)          ((rtp_header_t*)((mp)-&gt;b_rptr))-&gt;ssrc=(_ssrc)</span>
<a name="l00098"></a>00098 <span class="preprocessor"></span><span class="keywordtype">void</span> rtp_add_csrc(<a class="code" href="structmsgb.html">mblk_t</a> *mp ,uint32_t csrc);
<a name="l00099"></a>00099 <span class="preprocessor">#define rtp_set_payload_type(mp,pt)     ((rtp_header_t*)((mp)-&gt;b_rptr))-&gt;paytype=(pt)</span>
<a name="l00100"></a>00100 <span class="preprocessor"></span>
<a name="l00101"></a>00101 <span class="preprocessor">#define rtp_get_markbit(mp)     (((rtp_header_t*)((mp)-&gt;b_rptr))-&gt;markbit)      </span>
<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="preprocessor">#define rtp_get_timestamp(mp)   (((rtp_header_t*)((mp)-&gt;b_rptr))-&gt;timestamp)    </span>
<a name="l00103"></a>00103 <span class="preprocessor"></span><span class="preprocessor">#define rtp_get_seqnumber(mp)   (((rtp_header_t*)((mp)-&gt;b_rptr))-&gt;seq_number)</span>
<a name="l00104"></a>00104 <span class="preprocessor"></span><span class="preprocessor">#define rtp_get_payload_type(mp)        (((rtp_header_t*)((mp)-&gt;b_rptr))-&gt;paytype)</span>
<a name="l00105"></a>00105 <span class="preprocessor"></span><span class="preprocessor">#define rtp_get_ssrc(mp)                (((rtp_header_t*)((mp)-&gt;b_rptr))-&gt;ssrc)</span>
<a name="l00106"></a>00106 <span class="preprocessor"></span><span class="preprocessor">#define rtp_get_cc(mp)          (((rtp_header_t*)((mp)-&gt;b_rptr))-&gt;cc)</span>
<a name="l00107"></a>00107 <span class="preprocessor"></span><span class="preprocessor">#define rtp_get_csrc(mp, idx)           (((rtp_header_t*)((mp)-&gt;b_rptr))-&gt;csrc[idx])</span>
<a name="l00108"></a>00108 <span class="preprocessor"></span>
<a name="l00109"></a>00109 <span class="keywordtype">int</span> rtp_get_payload(<a class="code" href="structmsgb.html">mblk_t</a> *packet, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **start);
<a name="l00110"></a>00110 
<a name="l00111"></a>00111 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00112"></a>00112 <span class="preprocessor"></span>}
<a name="l00113"></a>00113 <span class="preprocessor">#endif</span>
<a name="l00114"></a>00114 <span class="preprocessor"></span>
<a name="l00115"></a>00115 <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>