FreeBSD kernel kern code
subr_eventhandler.c File Reference
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/ktr.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/mutex.h>
#include <sys/proc.h>
#include <sys/systm.h>
#include <sys/eventhandler.h>
Include dependency graph for subr_eventhandler.c:

Go to the source code of this file.

Functions

 __FBSDID ("$FreeBSD$")
 
static MALLOC_DEFINE (M_EVENTHANDLER, "eventhandler", "Event handler records")
 
static TAILQ_HEAD (eventhandler_list)
 
static struct eventhandler_list * _eventhandler_find_list (const char *name)
 
static void eventhandler_init (void *dummy __unused)
 
 SYSINIT (eventhandlers, SI_SUB_EVENTHANDLER, SI_ORDER_FIRST, eventhandler_init, NULL)
 
static struct eventhandler_list * eventhandler_find_or_create_list (const char *name)
 
static eventhandler_tag eventhandler_register_internal (struct eventhandler_list *list, const char *name, eventhandler_tag epn)
 
eventhandler_tag eventhandler_register (struct eventhandler_list *list, const char *name, void *func, void *arg, int priority)
 
static void _eventhandler_deregister (struct eventhandler_list *list, eventhandler_tag tag, bool wait)
 
void eventhandler_deregister (struct eventhandler_list *list, eventhandler_tag tag)
 
void eventhandler_deregister_nowait (struct eventhandler_list *list, eventhandler_tag tag)
 
struct eventhandler_list * eventhandler_find_list (const char *name)
 
void eventhandler_prune_list (struct eventhandler_list *list)
 
struct eventhandler_list * eventhandler_create_list (const char *name)
 

Function Documentation

◆ __FBSDID()

__FBSDID ( "$FreeBSD$"  )

◆ _eventhandler_deregister()

static void _eventhandler_deregister ( struct eventhandler_list *  list,
eventhandler_tag  tag,
bool  wait 
)
static

Definition at line 188 of file subr_eventhandler.c.

References free().

Referenced by eventhandler_deregister(), and eventhandler_deregister_nowait().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _eventhandler_find_list()

static struct eventhandler_list * _eventhandler_find_list ( const char *  name)
static

Definition at line 247 of file subr_eventhandler.c.

References name.

Referenced by eventhandler_find_list(), and eventhandler_find_or_create_list().

Here is the caller graph for this function:

◆ eventhandler_create_list()

struct eventhandler_list * eventhandler_create_list ( const char *  name)

Definition at line 307 of file subr_eventhandler.c.

References eventhandler_find_or_create_list(), and name.

Here is the call graph for this function:

◆ eventhandler_deregister()

void eventhandler_deregister ( struct eventhandler_list *  list,
eventhandler_tag  tag 
)

Definition at line 229 of file subr_eventhandler.c.

References _eventhandler_deregister().

Here is the call graph for this function:

◆ eventhandler_deregister_nowait()

void eventhandler_deregister_nowait ( struct eventhandler_list *  list,
eventhandler_tag  tag 
)

Definition at line 236 of file subr_eventhandler.c.

References _eventhandler_deregister().

Here is the call graph for this function:

◆ eventhandler_find_list()

struct eventhandler_list * eventhandler_find_list ( const char *  name)

Definition at line 263 of file subr_eventhandler.c.

References _eventhandler_find_list(), and name.

Here is the call graph for this function:

◆ eventhandler_find_or_create_list()

static struct eventhandler_list * eventhandler_find_or_create_list ( const char *  name)
static

Definition at line 71 of file subr_eventhandler.c.

References _eventhandler_find_list(), free(), malloc(), and name.

Referenced by eventhandler_create_list(), and eventhandler_register_internal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ eventhandler_init()

static void eventhandler_init ( void *dummy  __unused)
static

Definition at line 61 of file subr_eventhandler.c.

◆ eventhandler_prune_list()

void eventhandler_prune_list ( struct eventhandler_list *  list)

Definition at line 284 of file subr_eventhandler.c.

References free(), and wakeup().

Here is the call graph for this function:

◆ eventhandler_register()

eventhandler_tag eventhandler_register ( struct eventhandler_list *  list,
const char *  name,
void *  func,
void *  arg,
int  priority 
)

Definition at line 145 of file subr_eventhandler.c.

References eventhandler_register_internal(), malloc(), name, and priority.

Here is the call graph for this function:

◆ eventhandler_register_internal()

static eventhandler_tag eventhandler_register_internal ( struct eventhandler_list *  list,
const char *  name,
eventhandler_tag  epn 
)
static

Definition at line 109 of file subr_eventhandler.c.

References eventhandler_find_or_create_list(), and name.

Referenced by eventhandler_register().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MALLOC_DEFINE()

static MALLOC_DEFINE ( M_EVENTHANDLER  ,
"eventhandler"  ,
"Event handler records"   
)
static

◆ SYSINIT()

SYSINIT ( eventhandlers  ,
SI_SUB_EVENTHANDLER  ,
SI_ORDER_FIRST  ,
eventhandler_init  ,
NULL   
)

◆ TAILQ_HEAD()

static TAILQ_HEAD ( eventhandler_list  )
static

Definition at line 45 of file subr_eventhandler.c.