64
64
#endif /* 2.6.29 */
66
66
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33)
67
#define pernet_operations rpl_pernet_operations
68
struct pernet_operations {
67
struct rpl_pernet_operations {
69
68
int (*init)(struct net *net);
70
69
void (*exit)(struct net *net);
72
struct pernet_operations ops;
74
#define pernet_operations rpl_pernet_operations
76
#define register_pernet_device rpl_register_pernet_gen_device
77
#define unregister_pernet_device rpl_unregister_pernet_gen_device
79
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)
75
80
extern int rpl_register_pernet_gen_device(struct rpl_pernet_operations *ops);
76
81
extern void rpl_unregister_pernet_gen_device(struct rpl_pernet_operations *ops);
78
#define register_pernet_device rpl_register_pernet_gen_device
79
#define unregister_pernet_device rpl_unregister_pernet_gen_device
83
#else /* for 2.6.32* */
85
int __net_init compat_init_net(struct net *net, struct rpl_pernet_operations *pnet);
86
void __net_exit compat_exit_net(struct net *net, struct rpl_pernet_operations *pnet);
88
#define DEFINE_COMPAT_PNET_REG_FUNC(TYPE) \
90
static struct rpl_pernet_operations *pnet_gen_##TYPE; \
91
static int __net_init compat_init_net_gen_##TYPE(struct net *net) \
93
return compat_init_net(net, pnet_gen_##TYPE); \
96
static void __net_exit compat_exit_net_gen_##TYPE(struct net *net) \
98
compat_exit_net(net, pnet_gen_##TYPE); \
101
static int __net_init rpl_register_pernet_gen_##TYPE(struct rpl_pernet_operations *rpl_pnet) \
103
pnet_gen_##TYPE = rpl_pnet; \
104
rpl_pnet->ops.init = compat_init_net_gen_##TYPE; \
105
rpl_pnet->ops.exit = compat_exit_net_gen_##TYPE; \
106
return register_pernet_gen_##TYPE(pnet_gen_##TYPE->id, &rpl_pnet->ops); \
109
static void __net_exit rpl_unregister_pernet_gen_##TYPE(struct rpl_pernet_operations *rpl_pnet) \
111
unregister_pernet_gen_##TYPE(*pnet_gen_##TYPE->id, &rpl_pnet->ops); \
116
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) || \
117
LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
118
#define DEFINE_COMPAT_PNET_REG_FUNC(TYPE)
81
119
#endif /* 2.6.33 */
83
121
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)