19
19
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21
21
<interface name="org.freedesktop.Telepathy.Channel.Type.Tubes">
23
<tp:deprecated version="0.17.25">Client implementations
24
SHOULD use <tp:dbus-ref
25
namespace="org.freedesktop.Telepathy.Channel.Type">StreamTube</tp:dbus-ref> and
27
namespace="org.freedesktop.Telepathy.Channel.Type">DBusTube</tp:dbus-ref>
28
instead.</tp:deprecated>
22
30
<tp:requires interface="org.freedesktop.Telepathy.Channel"/>
23
31
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
24
32
<p>A "tube" is a mechanism for arbitrary data transfer. Two types of
74
<tp:struct name="Socket_Address_IPv4">
75
<tp:docstring>An IPv4 address and port.</tp:docstring>
76
<tp:member type="s" name="Address">
77
<tp:docstring>A dotted-quad IPv4 address literal: four ASCII decimal
78
numbers, each between 0 and 255 inclusive, e.g.
79
"192.168.0.1".</tp:docstring>
81
<tp:member type="q" name="Port">
82
<tp:docstring>The TCP or UDP port number.</tp:docstring>
86
<tp:struct name="Socket_Address_IPv6">
87
<tp:docstring>An IPv6 address and port.</tp:docstring>
88
<tp:member type="s" name="Address">
89
<tp:docstring>An IPv6 address literal as specified by RFC2373
90
section 2.2, e.g. "2001:DB8::8:800:200C:4171".</tp:docstring>
92
<tp:member type="q" name="Port">
93
<tp:docstring>The TCP or UDP port number.</tp:docstring>
97
<tp:struct name="Socket_Netmask_IPv4">
98
<tp:docstring>An IPv4 network or subnet.</tp:docstring>
99
<tp:member type="s" name="Address">
100
<tp:docstring>A dotted-quad IPv4 address literal: four ASCII decimal
101
numbers, each between 0 and 255 inclusive, e.g.
102
"192.168.0.1".</tp:docstring>
104
<tp:member type="y" name="Prefix_Length">
105
<tp:docstring>The number of leading bits of the address that must
106
match, for this netmask to be considered to match an
107
address.</tp:docstring>
111
<tp:struct name="Socket_Netmask_IPv6">
112
<tp:docstring>An IPv6 network or subnet.</tp:docstring>
113
<tp:member type="s" name="Address">
114
<tp:docstring>An IPv6 address literal as specified by RFC2373
115
section 2.2, e.g. "2001:DB8::8:800:200C:4171".</tp:docstring>
117
<tp:member type="y" name="Prefix_Length">
118
<tp:docstring>The number of leading bits of the address that must
119
match, for this netmask to be considered to match an
120
address.</tp:docstring>
124
<tp:enum name="Tube_Type" type="u">
82
<tp:enum name="Tube_Type" type="u" array-name="Tube_Type_List">
125
83
<tp:enumvalue suffix="DBus" value="0">
126
84
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
127
85
<p>The tube is D-Bus tube as described by the
158
<tp:enum name="Socket_Address_Type" type="u">
159
<tp:enumvalue suffix="Unix" value="0">
161
A Unix socket. The address variant contains a byte-array, signature 'ay',
162
containing the path of the socket.
166
<tp:enumvalue suffix="Abstract_Unix" value="1">
168
An abstract Unix socket. The address variant contains a byte-array,
169
signature 'ay', containing the path of the socket including the
174
<tp:enumvalue suffix="IPv4" value="2">
176
An IPv4 socket. The address variant contains a Socket_Address_IPv4,
177
i.e. a structure with signature (sq)
178
in which the string is an IPv4 dotted-quad address literal
179
(and must not be a DNS name), while the 16-bit unsigned integer is
184
<tp:enumvalue suffix="IPv6" value="3">
186
An IPv6 socket. The address variant contains a Socket_Address_IPv6,
187
i.e. a structure with signature (sq)
188
in which the string is an IPv6 address literal as specified in
189
RFC2373 (and must not be a DNS name), while the 16-bit unsigned
190
integer is the port number.
196
<tp:enum name="Socket_Access_Control" type="u">
197
<tp:enumvalue suffix="Localhost" value="0">
199
The IP or Unix socket can be accessed by any local user (e.g.
200
a Unix socket that accepts all local connections, or an IP socket
201
listening on 127.0.0.1 (or ::1) or rejecting connections not from
202
that address). The associated variant must be ignored.
205
<tp:enumvalue suffix="Port" value="1">
207
May only be used on IP sockets. The associated variant must contain
208
a struct Socket_Address_IPv4 (or Socket_Address_IPv6)
209
containing the string form of an IP address of the appropriate
210
version, and a port number. The socket can only be accessed if the
211
connecting process has that address and port number; all other
212
connections will be rejected.
215
<tp:enumvalue suffix="Netmask" value="2">
217
May only be used on IP sockets. The associated variant must contain
218
a struct Socket_Netmask_IPv4 (or Socket_Netmask_IPv6) with
219
signature (sy), containing the string form of an
220
IP address of the appropriate version, and a prefix length "n".
221
The socket can only be accessed if the first n bits of the
222
connecting address match the first n bits of the given address.
225
<tp:enumvalue suffix="Credentials" value="3">
226
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
227
<p>The connecting process must send a single zero (NUL) byte when
228
it first connects, which is not considered to be part of the data
229
stream. If the operating system uses sendmsg() with SCM_CREDS or
230
SCM_CREDENTIALS to pass credentials over sockets, the connecting
231
process must do so if possible; if not, it must still send the
234
<p>The listening process will disconnect the connection unless it
235
can determine by OS-specific means that the connecting process
236
has the same user ID as the listening process.</p>
238
<p>The associated variant must be ignored.</p>
243
116
<tp:mapping name="Supported_Socket_Map">
244
117
<tp:docstring>The supported socket address and access-control types
245
118
for tubes. See GetAvailableStreamTubeTypes.</tp:docstring>