kdbus: add uapi header file
authorDaniel Mack <daniel@zonque.org>
Thu, 11 Sep 2014 16:38:06 +0000 (18:38 +0200)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Mon, 29 Jun 2015 10:50:35 +0000 (19:50 +0900)
commit2d788005307ca781bf50f39cf982128274dfdc4c
tree992c99fe07572f0508780752fa504c2a936c77e2
parent138801b0515b900201f6ce8c4baf1761fd94d649
kdbus: add uapi header file

This patch adds the header file which describes the low-level
transport protocol used by various ioctls. The header file is located
in include/uapi/linux/ as it is shared between kernel and userspace,
and it only contains data structure definitions, enums and defines
for constants.

The low-level kernel API of kdbus is exposed through ioctls, employed
on nodes exposed by kdbusfs. We've chosen a ioctl-based implementation
over syscalls for various reaons:

 * The ioctls kdbus offers are completely specific to nodes exposed by
   kdbusfs and can not be applied to any other file descriptor in a
   system.

 * The file descriptors derived from opening nodes in kdbusfs can only be
   used for poll(), close() and the ioctls described in kdbus.h.

 * Not all systems will make use of kdbus eventually, and we want to
   make as many parts of the kernel optional at build time.

 * We want to build the kdbus code as module, which is impossible to
   do when implemented with syscalls.

 * The ioctl dispatching logic does not show up in our performance
   graphs; its overhead is negligible.

 * For development, being able to build, load and unload a separate
   module with a versioned name suffix is essential.

Change-Id: I22da2eecb1e18143ca0163763b288b94ceee92dd
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>
include/uapi/linux/Kbuild
include/uapi/linux/kdbus.h [new file with mode: 0644]