14 #include <linux/slab.h>
21 #ifdef CONFIG_IP_DCCP_CCID3
40 if (ccid_by_number(ccid_array[--array_len]) ==
NULL)
55 if (*ccid_array ==
NULL)
58 for (*array_len = 0; *array_len <
ARRAY_SIZE(ccids); *array_len += 1)
59 (*ccid_array)[*array_len] = ccids[*array_len]->
ccid_id;
64 char __user *optval,
int __user *optlen)
66 u8 *ccid_array, array_len;
75 len > array_len ? array_len : len))
82 static struct kmem_cache *ccid_kmem_cache_create(
int obj_size,
char *slab_name_fmt,
const char *
fmt,...)
96 static void ccid_kmem_cache_destroy(
struct kmem_cache *slab)
120 goto out_free_rx_slab;
122 pr_info(
"DCCP: Activated CCID %d (%s)\n",
140 pr_info(
"DCCP: Deactivated CCID %d (%s)\n",
149 if (ccid_ops ==
NULL)
160 ccid->
ccid_ops->ccid_hc_rx_init(ccid, sk) != 0)
165 ccid->
ccid_ops->ccid_hc_tx_init(ccid, sk) != 0)
181 ccid->
ccid_ops->ccid_hc_rx_exit(sk);
190 ccid->
ccid_ops->ccid_hc_tx_exit(sk);
203 err = ccid_activate(ccids[i]);
205 goto unwind_registrations;
209 unwind_registrations:
211 ccid_deactivate(ccids[i]);
221 ccid_deactivate(ccids[i]);