kdbus: add code for buses, domains and endpoints
authorDaniel Mack <daniel@zonque.org>
Thu, 11 Sep 2014 16:59:39 +0000 (18:59 +0200)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Mon, 29 Jun 2015 10:50:36 +0000 (19:50 +0900)
commit2014dcbbf97391834b8f84da295b8cd1082268f6
treeafc06644bc435e31e3813c3b8162b0fa97157952
parentd45f16583b2b0430263e71553b08b511e464df77
kdbus: add code for buses, domains and endpoints

Add the logic to handle the following entities:

Domain:
  A domain is an unamed object containing a number of buses. A
  domain is automatically created when an instance of kdbusfs
  is mounted, and destroyed when it is unmounted.
  Every domain offers its own 'control' device node to create
  buses. Domains are isolated from each other.

Bus:
  A bus is a named object inside a domain. Clients exchange messages
  over a bus. Multiple buses themselves have no connection to each
  other; messages can only be exchanged on the same bus. The default
  entry point to a bus, where clients establish the connection to, is
  the "bus" device node /sys/fs/kdbus/<bus name>/bus.  Common operating
  system setups create one "system bus" per system, and one "user
  bus" for every logged-in user. Applications or services may create
  their own private named buses.

Endpoint:
  An endpoint provides the device node to talk to a bus. Opening an
  endpoint creates a new connection to the bus to which the endpoint
  belongs. Every bus has a default endpoint called "bus". A bus can
  optionally offer additional endpoints with custom names to provide
  a restricted access to the same bus. Custom endpoints carry
  additional policy which can be used to give sandboxed processes
  only a locked-down, limited, filtered access to the same bus.

See kdbus(7), kdbus.bus(7), kdbus.endpoint(7) and kdbus.fs(7)
for more details.

Change-Id: Ia31004659d24b73f2180e4ff6155cdc9c2912e8d
Signed-off-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Djalal Harouni <tixxdz@opendz.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paul Osmialowski <p.osmialowsk@samsung.com>
ipc/kdbus/bus.c [new file with mode: 0644]
ipc/kdbus/bus.h [new file with mode: 0644]
ipc/kdbus/domain.c [new file with mode: 0644]
ipc/kdbus/domain.h [new file with mode: 0644]
ipc/kdbus/endpoint.c [new file with mode: 0644]
ipc/kdbus/endpoint.h [new file with mode: 0644]