Linux-SRT User's Manual (9) - Kernel Events

Synopsis

#include <linux/events.h>

struct source *create_event_source(char *name);
void fire_event(struct source *src, int payload);

Data Structures

Other parts of the kernel can treat the kernel events subsystem as opaque; these structures are not manipulated directly and are only relevant if you are interested in the implementation.
struct source
{
   struct source *next, *prev; /* list of all sources */
   struct listener *listener_list;
   struct wait_queue *wq;
   char name; /* "name" is really an embedded string, to avoid
                 a separate kmalloc(). */
};

struct listener
{
   struct client *ptr;
   struct listener *next, *prev;
};

struct client
{
   struct source *src;
   int *buffer;
   int buffer_capacity;
   int next_msg_slot; /* next msg waiting to be retrieved (next free
                         slot is queue_len places further on) */
   int queue_len;
};

Description

Internal kernel events interface.

Files

/proc/events  Event sources supported by the kernel.

See also

/dev/events  User-space interface to kernel events.

Author

David Ingram <dmi@uk.research.att.com>