aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp/proto.c
diff options
context:
space:
mode:
authorGerrit Renker <gerrit@erg.abdn.ac.uk>2008-09-04 01:30:19 -0400
committerGerrit Renker <gerrit@erg.abdn.ac.uk>2008-09-04 01:45:28 -0400
commitc8041e264b3db6944d37b87969fbe6458cb30cfd (patch)
tree0dd21c001bea090756710216717a73d8e409a65d /net/dccp/proto.c
parentfade756f18d42694e3acb00e3471ab43002cba16 (diff)
dccp: API to query the current TX/RX CCID
This provides function to query the current TX/RX CCID dynamically, without reliance on the minisock value, using dynamic information available in the currently loaded CCID module. This query function is then used to (a) provide the getsockopt part for getting/setting CCIDs via sockopts; (b) replace the current test for "which CCID is in use" in probe.c. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Diffstat (limited to 'net/dccp/proto.c')
-rw-r--r--net/dccp/proto.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/net/dccp/proto.c b/net/dccp/proto.c
index 2cd56df44d8e..6550452d59e2 100644
--- a/net/dccp/proto.c
+++ b/net/dccp/proto.c
@@ -667,6 +667,16 @@ static int do_dccp_getsockopt(struct sock *sk, int level, int optname,
667 break; 667 break;
668 case DCCP_SOCKOPT_AVAILABLE_CCIDS: 668 case DCCP_SOCKOPT_AVAILABLE_CCIDS:
669 return ccid_getsockopt_builtin_ccids(sk, len, optval, optlen); 669 return ccid_getsockopt_builtin_ccids(sk, len, optval, optlen);
670 case DCCP_SOCKOPT_TX_CCID:
671 val = ccid_get_current_tx_ccid(dp);
672 if (val < 0)
673 return -ENOPROTOOPT;
674 break;
675 case DCCP_SOCKOPT_RX_CCID:
676 val = ccid_get_current_rx_ccid(dp);
677 if (val < 0)
678 return -ENOPROTOOPT;
679 break;
670 case DCCP_SOCKOPT_SERVER_TIMEWAIT: 680 case DCCP_SOCKOPT_SERVER_TIMEWAIT:
671 val = dp->dccps_server_timewait; 681 val = dp->dccps_server_timewait;
672 break; 682 break;