#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,
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);
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
char *additional;
};
-struct param_new_session
-{
- tunnelt *t;
- sessiont *s;
-};
-
-struct param_kill_session
-{
- tunnelt *t;
- sessiont *s;
-};
-
struct param_radius_response
{
tunnelt *t;