Fix service_name management and add pppoe_only_equal_svc_name parameter
[l2tpns.git] / plugin.h
index a57d700..d6cac99 100644 (file)
--- a/plugin.h
+++ b/plugin.h
@@ -1,15 +1,13 @@
 #ifndef __PLUGIN_H__
 #define __PLUGIN_H__
 
-#define PLUGIN_API_VERSION     6
+#define PLUGIN_API_VERSION     7
 #define MAX_PLUGIN_TYPES       30
 
 enum
 {
     PLUGIN_PRE_AUTH = 1,
     PLUGIN_POST_AUTH,
-    PLUGIN_PACKET_RX,
-    PLUGIN_PACKET_TX,
     PLUGIN_TIMER,
     PLUGIN_NEW_SESSION,
     PLUGIN_KILL_SESSION,
@@ -37,7 +35,7 @@ struct pluginfuncs
     uint16_t (*radiusnew)(sessionidt s);
     void (*radiussend)(uint16_t r, uint8_t state);
     void *(*getconfig)(char *key, enum config_typet type);
-    void (*sessionshutdown)(sessionidt s, char *reason, int result, int error);
+    void (*sessionshutdown)(sessionidt s, char const *reason, int result, int error, int term_cause);
     void (*sessionkill)(sessionidt s, char *reason);
     void (*throttle)(sessionidt s, int rate_in, int rate_out);
     int (*session_changed)(int sid);
@@ -62,25 +60,21 @@ struct param_post_auth
     int protocol;
 };
 
-struct param_packet_rx
+struct param_timer
 {
-    tunnelt *t;
-    sessiont *s;
-    char *buf;
-    int len;
+    time_t time_now;
 };
 
-struct param_packet_tx
+struct param_new_session
 {
     tunnelt *t;
     sessiont *s;
-    char *buf;
-    int len;
 };
 
-struct param_timer
+struct param_kill_session
 {
-    time_t time_now;
+    tunnelt *t;
+    sessiont *s;
 };
 
 struct param_control
@@ -93,18 +87,6 @@ struct param_control
     char *additional;
 };
 
-struct param_new_session
-{
-    tunnelt *t;
-    sessiont *s;
-};
-
-struct param_kill_session
-{
-    tunnelt *t;
-    sessiont *s;
-};
-
 struct param_radius_response
 {
     tunnelt *t;