uapi: General notification queue definitions
authorDavid Howells <dhowells@redhat.com>
Wed, 12 Feb 2020 13:58:35 +0000 (13:58 +0000)
committerDavid Howells <dhowells@redhat.com>
Tue, 19 May 2020 14:08:23 +0000 (15:08 +0100)
commit0858caa419e6cf9d31e734d09d70b34f64443ef6
tree5cf44cf6e215c6a22a47a3da02802b18cda198ad
parentb9bbe6ed63b2b9f2c9ee5cbd0f2c946a2723f4ce
uapi: General notification queue definitions

Add UAPI definitions for the general notification queue, including the
following pieces:

 (*) struct watch_notification.

     This is the metadata header for notification messages.  It includes a
     type and subtype that indicate the source of the message
     (eg. WATCH_TYPE_MOUNT_NOTIFY) and the kind of the message
     (eg. NOTIFY_MOUNT_NEW_MOUNT).

     The header also contains an information field that conveys the
     following information:

- WATCH_INFO_LENGTH.  The size of the entry (entries are variable
          length).

- WATCH_INFO_ID.  The watch ID specified when the watchpoint was
          set.

- WATCH_INFO_TYPE_INFO.  (Sub)type-specific information.

- WATCH_INFO_FLAG_*.  Flag bits overlain on the type-specific
          information.  For use by the type.

     All the information in the header can be used in filtering messages at
     the point of writing into the buffer.

 (*) struct watch_notification_removal

     This is an extended watch-removal notification record that includes an
     'id' field that can indicate the identifier of the object being
     removed if available (for instance, a keyring serial number).

Signed-off-by: David Howells <dhowells@redhat.com>
include/uapi/linux/watch_queue.h [new file with mode: 0644]