Lines Matching refs:fval
272 dccp_feat_val fval = { .sp.vec = list, .sp.len = len };
275 fval.nn = dccp_decode_value_var(list, len);
276 dccp_feat_printval(feat_num, &fval);
306 const bool is_local, dccp_feat_val const *fval)
316 if (fval == NULL) {
319 if (fval->sp.vec == NULL) {
328 val = fval->sp.vec[0];
331 val = fval->nn;
339 fval ? "" : "default ", (unsigned long long)val);
349 * @fval: the value (SP or NN) to activate, or NULL to use the default value
354 dccp_feat_val const *fval)
356 return __dccp_feat_activate(sk, dccp_feat_index(feat_num), local, fval);
366 /* copy constructor, fval must not already contain allocated memory */
367 static int dccp_feat_clone_sp_val(dccp_feat_val *fval, u8 const *val, u8 len)
369 fval->sp.len = len;
370 if (fval->sp.len > 0) {
371 fval->sp.vec = kmemdup(val, len, gfp_any());
372 if (fval->sp.vec == NULL) {
373 fval->sp.len = 0;
479 * @fval: pointer to NN/SP value to be inserted (will be copied)
482 u8 mandatory, dccp_feat_val *fval)
494 new->val = *fval;
505 * @fval: pointer to NN/SP value to be inserted or NULL
510 dccp_feat_val *fval)
521 new->empty_confirm = (fval == NULL);
524 new->val = *fval;
702 dccp_feat_val fval = { .nn = nn_val };
712 return dccp_feat_push_change(fn, feat, 1, mandatory, &fval);
727 dccp_feat_val fval;
737 if (dccp_feat_clone_sp_val(&fval, sp_val, sp_len))
740 if (dccp_feat_push_change(fn, feat, is_local, mandatory, &fval)) {
741 kfree(fval.sp.vec);
808 dccp_feat_val fval = { .nn = nn_val };
830 return dccp_feat_push_change(fn, feat, 1, 0, &fval);
1062 * When successful, > 0 is returned and the reconciled list is in @fval.
1107 dccp_feat_val fval;
1119 if (local || len > sizeof(fval.nn))
1123 fval.nn = dccp_decode_value_var(val, len);
1124 if (!dccp_feat_is_valid_nn_val(feat, fval.nn))
1127 return dccp_feat_push_confirm(fn, feat, local, &fval);
1145 if (dccp_feat_clone_sp_val(&fval, val, 1))
1151 fval.sp.vec[0] = defval;
1152 } else if (!dccp_feat_is_valid_sp_val(feat, fval.sp.vec[0])) {
1153 kfree(fval.sp.vec);
1158 if (feat == DCCPF_CCID && !ccid_support_check(fval.sp.vec, 1)) {
1159 kfree(fval.sp.vec);
1163 return dccp_feat_push_confirm(fn, feat, local, &fval);
1316 dccp_feat_val fval;
1335 if (len == 0 || len > sizeof(fval.nn))
1339 fval.nn = dccp_decode_value_var(val, len);
1340 if (!dccp_feat_is_valid_nn_val(feat, fval.nn))
1343 if (dccp_feat_push_confirm(fn, feat, local, &fval) ||
1344 dccp_feat_activate(sk, feat, local, &fval))
1355 fval.nn = dccp_decode_value_var(val, len);
1362 if (fval.nn != entry->val.nn)
1366 dccp_feat_activate(sk, feat, local, &fval);