kdbus: add uapi header file
authorDaniel Mack <daniel@zonque.org>
Thu, 11 Sep 2014 16:38:06 +0000 (18:38 +0200)
committerMaciej Wereski <m.wereski@partner.samsung.com>
Thu, 2 Apr 2015 15:24:17 +0000 (17:24 +0200)
commita1f244eb725685a518213abbe13ee58e365d4d84
tree93bbe1fcacbc3595237f4f44cbe7e4be743d9162
parenteb51f91ebfba389362a99a81cfdece517b5a5ccd
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.

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