|
@@ -114,15 +114,17 @@ struct nf_sockopt_ops {
|
|
|
int set_optmin;
|
|
|
int set_optmax;
|
|
|
int (*set)(struct sock *sk, int optval, void __user *user, unsigned int len);
|
|
|
+#ifdef CONFIG_COMPAT
|
|
|
int (*compat_set)(struct sock *sk, int optval,
|
|
|
void __user *user, unsigned int len);
|
|
|
-
|
|
|
+#endif
|
|
|
int get_optmin;
|
|
|
int get_optmax;
|
|
|
int (*get)(struct sock *sk, int optval, void __user *user, int *len);
|
|
|
+#ifdef CONFIG_COMPAT
|
|
|
int (*compat_get)(struct sock *sk, int optval,
|
|
|
void __user *user, int *len);
|
|
|
-
|
|
|
+#endif
|
|
|
/* Use the module struct to lock set/get code in place */
|
|
|
struct module *owner;
|
|
|
};
|
|
@@ -222,11 +224,12 @@ int nf_setsockopt(struct sock *sk, u_int8_t pf, int optval, char __user *opt,
|
|
|
unsigned int len);
|
|
|
int nf_getsockopt(struct sock *sk, u_int8_t pf, int optval, char __user *opt,
|
|
|
int *len);
|
|
|
-
|
|
|
+#ifdef CONFIG_COMPAT
|
|
|
int compat_nf_setsockopt(struct sock *sk, u_int8_t pf, int optval,
|
|
|
char __user *opt, unsigned int len);
|
|
|
int compat_nf_getsockopt(struct sock *sk, u_int8_t pf, int optval,
|
|
|
char __user *opt, int *len);
|
|
|
+#endif
|
|
|
|
|
|
/* Call this before modifying an existing packet: ensures it is
|
|
|
modifiable and linear to the point you care about (writable_len).
|