bpf: Move bpf_track event declaration to <net/bpf.h>
authorAaron LI <aly@aaronly.me>
Mon, 25 Jun 2018 09:31:16 +0000 (17:31 +0800)
committerAaron LI <aly@aaronly.me>
Wed, 8 Aug 2018 08:43:32 +0000 (16:43 +0800)
Move the declaration of the "bpf_track" event from <sys/eventhandler.h>
to <net/bpf.h>.

Document the "bpf_track" event in eventhandler.9 man page.

Based on FreeBSD.

share/man/man9/EVENTHANDLER.9
sys/net/bpf.h
sys/sys/eventhandler.h

index 3053901..7a52f7d 100644 (file)
@@ -190,6 +190,9 @@ Callbacks invoked when the system is being woken up.
 .It Vt dev_clone
 Callbacks invoked when a new entry is created under
 .Pa /dev .
+.It Vt bpf_track
+Callbacks invoked when a BPF listener attaches to/detaches from network
+interface.
 .It Vt group_attach_event
 Callbacks invoked when a new interface group has been created.
 .It Vt group_change_event
index 128cc3d..1c9f40c 100644 (file)
 #ifndef _NET_BPF_H_
 #define _NET_BPF_H_
 
-#ifndef _SYS_PARAM_H_
 #include <sys/param.h>
-#endif
-#ifndef _SYS_TIME_H_
 #include <sys/time.h>
-#endif
-#ifndef _SYS_IOCCOM_H_
 #include <sys/ioccom.h>
-#endif
 
 __BEGIN_DECLS
 
@@ -154,9 +148,8 @@ struct bpf_hdr {
     sizeof(struct bpf_hdr))
 #endif
 
-#ifndef _NET_DLT_H
+/* Pull in data-link level type codes. */
 #include <net/dlt.h>
-#endif
 
 /*
  * The instruction encodings.
@@ -278,6 +271,17 @@ u_int       bpf_filter(const struct bpf_insn *, u_char *, u_int, u_int);
        }                                                               \
 } while (0)
 
+/*
+ * BPF attach/detach events
+ */
+
+#include <sys/eventhandler.h>
+struct ifnet;
+
+typedef void (*bpf_track_fn)(void *, struct ifnet *, int /* dlt */,
+    int /* 1 =>'s attach */);
+EVENTHANDLER_DECLARE(bpf_track, bpf_track_fn);
+
 #endif /* _KERNEL */
 
 /*
index a88e220..f7440c6 100644 (file)
@@ -157,12 +157,6 @@ extern struct eventhandler_list    *eventhandler_find_list(const char *name);
 #define        EVENTHANDLER_PRI_ANY    10000
 #define        EVENTHANDLER_PRI_LAST   20000
 
-/* BPF attach/detach events */
-struct ifnet;
-typedef void (*bpf_track_fn)(void *, struct ifnet *, int /* dlt */,
-    int /* 1 =>'s attach */);
-EVENTHANDLER_DECLARE(bpf_track, bpf_track_fn);
-
 struct image_params;
 struct proc;