diff options
Diffstat (limited to 'ggsn/gtp-kernel.h')
-rw-r--r-- | ggsn/gtp-kernel.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/ggsn/gtp-kernel.h b/ggsn/gtp-kernel.h new file mode 100644 index 0000000..7bf533d --- /dev/null +++ b/ggsn/gtp-kernel.h @@ -0,0 +1,51 @@ +#ifndef _GTP_KERNEL_H_ +#define _GTP_KERNEL_H_ + +struct gengetopt_args_info; + +extern int debug; +extern char *ipup; + +#ifdef GTP_KERNEL +int gtp_kernel_init(struct gsn_t *gsn, struct in_addr *net, + struct in_addr *mask, + struct gengetopt_args_info *args_info); +void gtp_kernel_stop(void); + +int gtp_kernel_tunnel_add(struct pdp_t *pdp); +int gtp_kernel_tunnel_del(struct pdp_t *pdp); + +int gtp_kernel_enabled(void); + +#else +static inline int gtp_kernel_init(struct gsn_t *gsn, struct in_addr *net, + struct in_addr *mask, + struct gengetopt_args_info *args_info) +{ + if (args_info->gtpnl_given) { + sys_err(LOG_ERR, __FILE__, __LINE__, 0, + "ggsn compiled without GTP kernel support!\n"); + return -1; + } + return 0; +} + +static inline void gtp_kernel_stop(void) {} + +static inline int gtp_kernel_tunnel_add(struct pdp_t *pdp) +{ + return 0; +} + +static inline int gtp_kernel_tunnel_del(struct pdp_t *pdp) +{ + return 0; +} + +static inline int gtp_kernel_enabled(void) +{ + return 0; +} + +#endif +#endif /* _GTP_KERNEL_H_ */ |