LCOV - code coverage report
Current view: top level - net/core - netevent.c (source / functions) Hit Total Coverage
Test: landlock.info Lines: 2 6 33.3 %
Date: 2021-04-22 12:43:58 Functions: 1 3 33.3 %

          Line data    Source code
       1             : // SPDX-License-Identifier: GPL-2.0-or-later
       2             : /*
       3             :  *      Network event notifiers
       4             :  *
       5             :  *      Authors:
       6             :  *      Tom Tucker             <tom@opengridcomputing.com>
       7             :  *      Steve Wise             <swise@opengridcomputing.com>
       8             :  *
       9             :  *      Fixes:
      10             :  */
      11             : 
      12             : #include <linux/rtnetlink.h>
      13             : #include <linux/notifier.h>
      14             : #include <linux/export.h>
      15             : #include <net/netevent.h>
      16             : 
      17             : static ATOMIC_NOTIFIER_HEAD(netevent_notif_chain);
      18             : 
      19             : /**
      20             :  *      register_netevent_notifier - register a netevent notifier block
      21             :  *      @nb: notifier
      22             :  *
      23             :  *      Register a notifier to be called when a netevent occurs.
      24             :  *      The notifier passed is linked into the kernel structures and must
      25             :  *      not be reused until it has been unregistered. A negative errno code
      26             :  *      is returned on a failure.
      27             :  */
      28           0 : int register_netevent_notifier(struct notifier_block *nb)
      29             : {
      30           0 :         return atomic_notifier_chain_register(&netevent_notif_chain, nb);
      31             : }
      32             : EXPORT_SYMBOL_GPL(register_netevent_notifier);
      33             : 
      34             : /**
      35             :  *      netevent_unregister_notifier - unregister a netevent notifier block
      36             :  *      @nb: notifier
      37             :  *
      38             :  *      Unregister a notifier previously registered by
      39             :  *      register_neigh_notifier(). The notifier is unlinked into the
      40             :  *      kernel structures and may then be reused. A negative errno code
      41             :  *      is returned on a failure.
      42             :  */
      43             : 
      44           0 : int unregister_netevent_notifier(struct notifier_block *nb)
      45             : {
      46           0 :         return atomic_notifier_chain_unregister(&netevent_notif_chain, nb);
      47             : }
      48             : EXPORT_SYMBOL_GPL(unregister_netevent_notifier);
      49             : 
      50             : /**
      51             :  *      call_netevent_notifiers - call all netevent notifier blocks
      52             :  *      @val: value passed unmodified to notifier function
      53             :  *      @v:   pointer passed unmodified to notifier function
      54             :  *
      55             :  *      Call all neighbour notifier blocks.  Parameters and return value
      56             :  *      are as for notifier_call_chain().
      57             :  */
      58             : 
      59           7 : int call_netevent_notifiers(unsigned long val, void *v)
      60             : {
      61           7 :         return atomic_notifier_call_chain(&netevent_notif_chain, val, v);
      62             : }
      63             : EXPORT_SYMBOL_GPL(call_netevent_notifiers);

Generated by: LCOV version 1.14