<listitem><para>
Messages are directly copied by the sending process into the
receiver's
- <citerefentry><refentrytitle>kdbus.pool</refentrytitle><manvolnum>2</manvolnum></citerefentry>.
+ <citerefentry><refentrytitle>kdbus.pool</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
This way, two peers can exchange data by effectively doing a
single-copy from one process to another; the kernel will not buffer
the data anywhere else. <varname>KDBUS_ITEM_PAYLOAD_VEC</varname>
<varname>KDBUS_ITEM_PAYLOAD_OFF</varname> is used when messages
are <emphasis>received</emphasis>, and the <varname>offset</varname>
value describes the offset inside the receiving connection's
- <citerefentry><refentrytitle>kdbus.pool</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>kdbus.pool</refentrytitle><manvolnum>7</manvolnum></citerefentry>
where the message payload can be found.
See
- <citerefentry><refentrytitle>kdbus.message</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>kdbus.message</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for more information on passing of payload data along with a
message.
<programlisting>
has to match the actual size of the memfd that was specified when
it was created. The <varname>start</varname> parameter denotes the
offset inside the memfd at which the referenced payload starts. See
- <citerefentry><refentrytitle>kdbus.message</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>kdbus.message</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for more information on passing of payload data along with a
message.
<programlisting>
filedescriptor.
In either case, the number of entries in the array is derived from
the item's total size. See
- <citerefentry><refentrytitle>kdbus.message</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>kdbus.message</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for more information.
</para></listitem>
</varlistentry>
writing to it. The file descriptor is stored in
<varname>item.fd[0]</varname>. The item may only contain one
filedescriptor. See
- <citerefentry><refentrytitle>kdbus.message</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>kdbus.message</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for more information on this item and how to use it.
</para></listitem>
</varlistentry>
message to, as null-terminated string in
<varname>item.str</varname>. This item is used with
<varname>KDBUS_CMD_SEND</varname>. See
- <citerefentry><refentrytitle>kdbus.message</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>kdbus.message</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for more information on how to send a message.
</para></listitem>
</varlistentry>
<listitem><para>
Contains a set of <emphasis>attach flags</emphasis> at
<emphasis>send</emphasis> or <emphasis>receive</emphasis> time. See
- <citerefentry><refentrytitle>kdbus</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>kdbus.bus</refentrytitle><manvolnum>2</manvolnum></citerefentry> and
- <citerefentry><refentrytitle>kdbus.connection</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>kdbus</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>kdbus.bus</refentrytitle><manvolnum>7</manvolnum></citerefentry> and
+ <citerefentry><refentrytitle>kdbus.connection</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for more information on attach flags.
</para></listitem>
</varlistentry>
<varname>struct kdbus_name</varname> in
<varname>item.name</varname>. The <varname> flags</varname>
contains the flags of the name. See
- <citerefentry><refentrytitle>kdbus.name</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>kdbus.name</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for more information on how to access the name registry of a bus.
<programlisting>
struct kdbus_name {
</variablelist>
<para>
- [*] Note that the content stored in these metadata items can easily
- be tampered by the sending tasks. Therefore, they should
+ All metadata is automatically translated into the
+ <emphasis>namespaces</emphasis> of the task that receives them. See
+ <citerefentry><refentrytitle>kdbus.message</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for more information.
+ </para>
+
+ <para>
+ [*] Note that the content stored in metadata items of type
+ <varname>KDBUS_ITEM_TID_COMM</varname>,
+ <varname>KDBUS_ITEM_PID_COMM</varname>,
+ <varname>KDBUS_ITEM_EXE</varname> and
+ <varname>KDBUS_ITEM_CMDLINE</varname>
+ can easily be tampered by the sending tasks. Therefore, they should
<emphasis>not</emphasis> be used for any sort of security relevant
assumptions. The only reason they are transmitted is to let
receivers know about details that were set when metadata was
<listitem><para>
This item describes a <emphasis>policy access</emphasis> entry to
access the policy database of a
- <citerefentry><refentrytitle>kdbus.bus</refentrytitle><manvolnum>2</manvolnum></citerefentry> or
- <citerefentry><refentrytitle>kdbus.endpoint</refentrytitle><manvolnum>2</manvolnum></citerefentry>.
+ <citerefentry><refentrytitle>kdbus.bus</refentrytitle><manvolnum>7</manvolnum></citerefentry> or
+ <citerefentry><refentrytitle>kdbus.endpoint</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
Please refer to
- <citerefentry><refentrytitle>kdbus.policy</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>kdbus.policy</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for more information on the policy database and how to access it.
<programlisting>
struct kdbus_policy_access {
</para>
<refsect2>
- <title>Known metadata item types</title>
+ <title>Attach flags for metadata items</title>
<para>
To let the kernel know which metadata information to attach as items
to the afformentioned commands, it uses a bitmask. In those, the
</varlistentry>
<varlistentry>
- <term><varname>KDBUS_ATTACH_TID_COMM [*]</varname></term>
+ <term><varname>KDBUS_ATTACH_TID_COMM</varname></term>
<listitem><para>
Requests the attachment of an item of type
<varname>KDBUS_ITEM_TID_COMM</varname>.
</varlistentry>
<varlistentry>
- <term><varname>KDBUS_ATTACH_PID_COMM [*]</varname></term>
+ <term><varname>KDBUS_ATTACH_PID_COMM</varname></term>
<listitem><para>
Requests the attachment of an item of type
<varname>KDBUS_ITEM_PID_COMM</varname>.
</varlistentry>
<varlistentry>
- <term><varname>KDBUS_ATTACH_EXE [*]</varname></term>
+ <term><varname>KDBUS_ATTACH_EXE</varname></term>
<listitem><para>
Requests the attachment of an item of type
<varname>KDBUS_ITEM_EXE</varname>.
<para>
Please refer to
<citerefentry><refentrytitle>kdbus.item</refentrytitle><manvolnum>7</manvolnum></citerefentry>
- for detailed information about the layout any payload of items.
- </para>
-
- <para>
- [*] Note that the content stored in these items can easily be tampered
- by the sending tasks. Therefore, they should <emphasis>not</emphasis>
- be used for any sort of security relevant assumptions. The only reason
- why they are transmitted is to let receivers know about details that
- were set when metadata was collected, even though the task they were
- collected from is not active any longer when the items are received.
+ for detailed information about the layout and payload of items and
+ what metadata should be used to.
</para>
</refsect2>