2 <!-- This file was automatically generated from C sources - DO NOT EDIT!
3 To affect the contents of this file, edit the original C definitions,
4 and/or use gtk-doc annotations. -->
5 <repository version="1.2"
6 xmlns="http://www.gtk.org/introspection/core/1.0"
7 xmlns:c="http://www.gtk.org/introspection/c/1.0"
8 xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9 <include name="GLib" version="2.0"/>
10 <include name="GModule" version="2.0"/>
11 <include name="GObject" version="2.0"/>
12 <include name="Gst" version="0.10"/>
13 <include name="libxml2" version="2.0"/>
14 <package name="gstreamer-netbuffer-0.10"/>
15 <c:include name="gst/netbuffer/gstnetbuffer.h"/>
16 <namespace name="GstNetbuffer"
18 shared-library="libgstnetbuffer-0.10.so.0"
19 c:identifier-prefixes="Gst"
20 c:symbol-prefixes="gst">
21 <record name="NetAddress" c:type="GstNetAddress">
22 <doc xml:whitespace="preserve">An opaque network address as used in #GstNetBuffer.</doc>
23 <field name="type" writable="1">
24 <type name="NetType" c:type="GstNetType"/>
26 <union name="address" c:type="address">
27 <field name="ip6" writable="1">
28 <array zero-terminated="0" c:type="guint8" fixed-size="16">
29 <type name="guint8" c:type="guint8"/>
32 <field name="ip4" writable="1">
33 <type name="guint32" c:type="guint32"/>
36 <field name="port" writable="1">
37 <type name="guint16" c:type="guint16"/>
39 <field name="_gst_reserved" writable="1">
40 <array zero-terminated="0" c:type="gpointer" fixed-size="4">
41 <type name="gpointer" c:type="gpointer"/>
45 <class name="NetBuffer"
46 c:symbol-prefix="netbuffer"
49 glib:type-name="GstNetBuffer"
50 glib:get-type="gst_netbuffer_get_type"
51 glib:type-struct="NetBufferClass"
53 <doc xml:whitespace="preserve">buffer for use in network sources and sinks.
54 It contains the source or destination address of the buffer.</doc>
55 <constructor name="new" c:identifier="gst_netbuffer_new">
56 <doc xml:whitespace="preserve">Create a new network buffer.</doc>
57 <return-value transfer-ownership="full">
58 <doc xml:whitespace="preserve">a new #GstNetBuffer.</doc>
59 <type name="NetBuffer" c:type="GstNetBuffer*"/>
63 <type name="Gst.Buffer" c:type="GstBuffer"/>
66 <type name="NetAddress" c:type="GstNetAddress"/>
69 <type name="NetAddress" c:type="GstNetAddress"/>
71 <field name="_gst_reserved">
72 <array zero-terminated="0" c:type="gpointer" fixed-size="4">
73 <type name="gpointer" c:type="gpointer"/>
77 <record name="NetBufferClass"
78 c:type="GstNetBufferClass"
79 glib:is-gtype-struct-for="NetBuffer">
80 <field name="buffer_class">
81 <type name="Gst.BufferClass" c:type="GstBufferClass"/>
83 <field name="_gst_reserved">
84 <array zero-terminated="0" c:type="gpointer" fixed-size="4">
85 <type name="gpointer" c:type="gpointer"/>
89 <enumeration name="NetType" c:type="GstNetType">
90 <doc xml:whitespace="preserve">The Address type used in #GstNetAddress.</doc>
91 <member name="unknown" value="0" c:identifier="GST_NET_TYPE_UNKNOWN"/>
92 <member name="ip4" value="1" c:identifier="GST_NET_TYPE_IP4"/>
93 <member name="ip6" value="2" c:identifier="GST_NET_TYPE_IP6"/>
95 <function name="netaddress_equal"
96 c:identifier="gst_netaddress_equal"
98 <doc xml:whitespace="preserve">Compare two #GstNetAddress structures</doc>
99 <return-value transfer-ownership="none">
100 <doc xml:whitespace="preserve">TRUE if they are identical, FALSE otherwise</doc>
101 <type name="gboolean" c:type="gboolean"/>
104 <parameter name="naddr1" transfer-ownership="none">
105 <doc xml:whitespace="preserve">The first #GstNetAddress</doc>
106 <type name="NetAddress" c:type="GstNetAddress*"/>
108 <parameter name="naddr2" transfer-ownership="none">
109 <doc xml:whitespace="preserve">The second #GstNetAddress</doc>
110 <type name="NetAddress" c:type="GstNetAddress*"/>
114 <function name="netaddress_get_address_bytes"
115 c:identifier="gst_netaddress_get_address_bytes"
117 <doc xml:whitespace="preserve">Get just the address bytes stored in @naddr into @address.
118 Note that @port is expressed in network byte order, use g_ntohs() to convert
119 it to host order. IP4 addresses are also stored in network byte order.</doc>
120 <return-value transfer-ownership="none">
121 <doc xml:whitespace="preserve">number of bytes actually copied</doc>
122 <type name="gint" c:type="gint"/>
125 <parameter name="naddr" transfer-ownership="none">
126 <doc xml:whitespace="preserve">a network address</doc>
127 <type name="NetAddress" c:type="GstNetAddress*"/>
129 <parameter name="address" transfer-ownership="none">
130 <doc xml:whitespace="preserve">a location to store the result.</doc>
131 <type name="guint8" c:type="guint8"/>
133 <parameter name="port" transfer-ownership="none">
134 <doc xml:whitespace="preserve">a location to store the port.</doc>
135 <type name="guint16" c:type="guint16*"/>
139 <function name="netaddress_get_ip4_address"
140 c:identifier="gst_netaddress_get_ip4_address">
141 <doc xml:whitespace="preserve">Get the IPv4 address stored in @naddr into @address. This function requires
142 that the address type of @naddr is of type #GST_NET_TYPE_IP4.
143 Note that @port and @address are expressed in network byte order, use
144 g_ntohs() and g_ntohl() to convert them to host order.</doc>
145 <return-value transfer-ownership="none">
146 <doc xml:whitespace="preserve">TRUE if the address could be retrieved.</doc>
147 <type name="gboolean" c:type="gboolean"/>
150 <parameter name="naddr" transfer-ownership="none">
151 <doc xml:whitespace="preserve">a network address</doc>
152 <type name="NetAddress" c:type="GstNetAddress*"/>
154 <parameter name="address" transfer-ownership="none">
155 <doc xml:whitespace="preserve">a location to store the address.</doc>
156 <type name="guint32" c:type="guint32*"/>
158 <parameter name="port" transfer-ownership="none">
159 <doc xml:whitespace="preserve">a location to store the port.</doc>
160 <type name="guint16" c:type="guint16*"/>
164 <function name="netaddress_get_ip6_address"
165 c:identifier="gst_netaddress_get_ip6_address">
166 <doc xml:whitespace="preserve">Get the IPv6 address stored in @naddr into @address.
167 If @naddr is of type GST_NET_TYPE_IP4, the transitional IP6 address is
169 Note that @port is expressed in network byte order, use g_ntohs() to convert
170 it to host order.</doc>
171 <return-value transfer-ownership="none">
172 <doc xml:whitespace="preserve">TRUE if the address could be retrieved.</doc>
173 <type name="gboolean" c:type="gboolean"/>
176 <parameter name="naddr" transfer-ownership="none">
177 <doc xml:whitespace="preserve">a network address</doc>
178 <type name="NetAddress" c:type="GstNetAddress*"/>
180 <parameter name="address" transfer-ownership="none">
181 <doc xml:whitespace="preserve">a location to store the result.</doc>
182 <type name="guint8" c:type="guint8"/>
184 <parameter name="port" transfer-ownership="none">
185 <doc xml:whitespace="preserve">a location to store the port.</doc>
186 <type name="guint16" c:type="guint16*"/>
190 <function name="netaddress_get_net_type"
191 c:identifier="gst_netaddress_get_net_type">
192 <doc xml:whitespace="preserve">Get the type of address stored in @naddr.</doc>
193 <return-value transfer-ownership="none">
194 <doc xml:whitespace="preserve">the network type stored in @naddr.</doc>
195 <type name="NetType" c:type="GstNetType"/>
198 <parameter name="naddr" transfer-ownership="none">
199 <doc xml:whitespace="preserve">a network address</doc>
200 <type name="NetAddress" c:type="GstNetAddress*"/>
204 <function name="netaddress_set_address_bytes"
205 c:identifier="gst_netaddress_set_address_bytes"
207 <doc xml:whitespace="preserve">Set just the address bytes stored in @naddr into @address.
208 Note that @port must be expressed in network byte order, use g_htons() to
209 convert it to network byte order order. IP4 address bytes must also be
210 stored in network byte order.</doc>
211 <return-value transfer-ownership="none">
212 <doc xml:whitespace="preserve">number of bytes actually copied</doc>
213 <type name="gint" c:type="gint"/>
216 <parameter name="naddr" transfer-ownership="none">
217 <doc xml:whitespace="preserve">a network address</doc>
218 <type name="NetAddress" c:type="GstNetAddress*"/>
220 <parameter name="type" transfer-ownership="none">
221 <doc xml:whitespace="preserve">the address type (IPv4 or IPV6)</doc>
222 <type name="NetType" c:type="GstNetType"/>
224 <parameter name="address" transfer-ownership="none">
225 <doc xml:whitespace="preserve">a location to store the result.</doc>
226 <type name="guint8" c:type="guint8"/>
228 <parameter name="port" transfer-ownership="none">
229 <doc xml:whitespace="preserve">a location to store the port.</doc>
230 <type name="guint16" c:type="guint16"/>
234 <function name="netaddress_set_ip4_address"
235 c:identifier="gst_netaddress_set_ip4_address">
236 <doc xml:whitespace="preserve">Set @naddr with the IPv4 @address and @port pair.
237 Note that @port and @address must be expressed in network byte order,
238 use g_htons() and g_htonl() to convert them to network byte order.</doc>
239 <return-value transfer-ownership="none">
240 <type name="none" c:type="void"/>
243 <parameter name="naddr" transfer-ownership="none">
244 <doc xml:whitespace="preserve">a network address</doc>
245 <type name="NetAddress" c:type="GstNetAddress*"/>
247 <parameter name="address" transfer-ownership="none">
248 <doc xml:whitespace="preserve">an IPv4 network address.</doc>
249 <type name="guint32" c:type="guint32"/>
251 <parameter name="port" transfer-ownership="none">
252 <doc xml:whitespace="preserve">a port number to set.</doc>
253 <type name="guint16" c:type="guint16"/>
257 <function name="netaddress_set_ip6_address"
258 c:identifier="gst_netaddress_set_ip6_address">
259 <doc xml:whitespace="preserve">Set @naddr with the IPv6 @address and @port pair.
260 Note that @port must be expressed in network byte order, use g_htons() to convert
261 it to network byte order.</doc>
262 <return-value transfer-ownership="none">
263 <type name="none" c:type="void"/>
266 <parameter name="naddr" transfer-ownership="none">
267 <doc xml:whitespace="preserve">a network address</doc>
268 <type name="NetAddress" c:type="GstNetAddress*"/>
270 <parameter name="address" transfer-ownership="none">
271 <doc xml:whitespace="preserve">an IPv6 network address.</doc>
272 <type name="guint8" c:type="guint8"/>
274 <parameter name="port" transfer-ownership="none">
275 <doc xml:whitespace="preserve">a port number to set.</doc>
276 <type name="guint16" c:type="guint16"/>
280 <function name="netaddress_to_string"
281 c:identifier="gst_netaddress_to_string"
283 <doc xml:whitespace="preserve">Copies a string representation of @naddr into @dest. Up to @len bytes are
286 <return-value transfer-ownership="none">
287 <doc xml:whitespace="preserve">the number of bytes which would be produced if the buffer was large</doc>
288 <type name="gint" c:type="gint"/>
291 <parameter name="naddr" transfer-ownership="none">
292 <doc xml:whitespace="preserve">a #GstNetAddress</doc>
293 <type name="NetAddress" c:type="GstNetAddress*"/>
295 <parameter name="dest" transfer-ownership="none">
296 <doc xml:whitespace="preserve">destination</doc>
297 <type name="utf8" c:type="gchar*"/>
299 <parameter name="len" transfer-ownership="none">
300 <doc xml:whitespace="preserve">len of @dest</doc>
301 <type name="gulong" c:type="gulong"/>