diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2008-11-17 01:51:23 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-17 01:51:23 -0500 |
commit | 49aebc66d6b896f9c7c5739d85c4548c00015aa7 (patch) | |
tree | 0b12afdd2e742c3eb481aef8d2adcb7b1aeca9f1 /net/dccp/feat.h | |
parent | 0c1168398ecbfacbb27203b281bde20ec9f78017 (diff) |
dccp: Deprecate old setsockopt framework
The previous setsockopt interface, which passed socket options via struct
dccp_so_feat, is complicated/difficult to use. Continuing to support it leads to
ugly code since the old approach did not distinguish between NN and SP values.
This patch removes the old setsockopt interface and replaces it with two new
functions to register NN/SP values for feature negotiation.
These are essentially wrappers around the internal __feat_register functions,
with checking added to avoid
* wrong usage (type);
* changing values while the connection is in progress.
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp/feat.h')
-rw-r--r-- | net/dccp/feat.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/dccp/feat.h b/net/dccp/feat.h index 232c653e69c5..4d172822df17 100644 --- a/net/dccp/feat.h +++ b/net/dccp/feat.h | |||
@@ -111,8 +111,9 @@ static inline void dccp_feat_debug(const u8 type, const u8 feat, const u8 val) | |||
111 | #define dccp_feat_debug(type, feat, val) | 111 | #define dccp_feat_debug(type, feat, val) |
112 | #endif /* CONFIG_IP_DCCP_DEBUG */ | 112 | #endif /* CONFIG_IP_DCCP_DEBUG */ |
113 | 113 | ||
114 | extern int dccp_feat_change(struct dccp_minisock *dmsk, u8 type, u8 feature, | 114 | extern int dccp_feat_register_sp(struct sock *sk, u8 feat, u8 is_local, |
115 | u8 *val, u8 len, gfp_t gfp); | 115 | u8 const *list, u8 len); |
116 | extern int dccp_feat_register_nn(struct sock *sk, u8 feat, u64 val); | ||
116 | extern int dccp_feat_change_recv(struct sock *sk, u8 type, u8 feature, | 117 | extern int dccp_feat_change_recv(struct sock *sk, u8 type, u8 feature, |
117 | u8 *val, u8 len); | 118 | u8 *val, u8 len); |
118 | extern int dccp_feat_confirm_recv(struct sock *sk, u8 type, u8 feature, | 119 | extern int dccp_feat_confirm_recv(struct sock *sk, u8 type, u8 feature, |