summaryrefslogtreecommitdiff
path: root/accel-pptpd/ppp/ppp_notify.c
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2010-09-04 16:20:11 +0400
committerKozlov Dmitry <dima@server>2010-09-04 16:20:11 +0400
commitaf5a96e2d04056b065a36ecbd140a16d0685c7e6 (patch)
treef873b3c5c68a72d2df1785fdd0931bc57c91fd35 /accel-pptpd/ppp/ppp_notify.c
parente8aa3a1457295f70f8ccc9cd7f2f9073f01a5e2e (diff)
downloadaccel-ppp-xebd-af5a96e2d04056b065a36ecbd140a16d0685c7e6.tar.gz
accel-ppp-xebd-af5a96e2d04056b065a36ecbd140a16d0685c7e6.zip
started work on radius module
Diffstat (limited to 'accel-pptpd/ppp/ppp_notify.c')
-rw-r--r--accel-pptpd/ppp/ppp_notify.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/accel-pptpd/ppp/ppp_notify.c b/accel-pptpd/ppp/ppp_notify.c
new file mode 100644
index 0000000..94ceb6d
--- /dev/null
+++ b/accel-pptpd/ppp/ppp_notify.c
@@ -0,0 +1,34 @@
+#include "ppp.h"
+
+static LIST_HEAD(notified_list);
+
+void __export ppp_register_notified(struct ppp_notified_t *n)
+{
+ list_add_tail(&n->entry, &notified_list);
+}
+
+void __export ppp_unregister_notified(struct ppp_notified_t *n)
+{
+ list_del(&n->entry);
+}
+
+void ppp_notify_started(struct ppp_t *ppp)
+{
+ struct ppp_notified_t *n;
+
+ list_for_each_entry(n, &notified_list, entry) {
+ if (n->started)
+ n->started(n, ppp);
+ }
+}
+
+void ppp_notify_finished(struct ppp_t *ppp)
+{
+ struct ppp_notified_t *n;
+
+ list_for_each_entry(n, &notified_list, entry) {
+ if (n->finished)
+ n->finished(n, ppp);
+ }
+}
+