Lines Matching defs:opt

192 	struct opthdr *opt;
257 opt = (struct opthdr *)&toa[1];
266 opt->level = optd->opdes_level;
267 opt->name = optd->opdes_name;
269 ((len = (*deffn)(q, opt->level,
270 opt->name, (uchar_t *)&opt[1])) < 0)) {
287 *(int32_t *)&opt[1] =
291 *(int16_t *)&opt[1] =
295 *(int8_t *)&opt[1] =
304 &opt[1], optd->opdes_size);
307 opt->len = optd->opdes_size;
310 opt->len = (t_uscalar_t)len;
311 opt = (struct opthdr *)((char *)&opt[1] +
312 _TPI_ALIGN_OPT(opt->len));
316 toa->OPT_length = (t_scalar_t)((char *)opt - (char *)&toa[1]);
317 mp->b_wptr = (uchar_t *)opt;
339 for (opt = opt_start; opt < opt_end; opt = next_opt) {
344 if ((uchar_t *)opt + sizeof (struct opthdr) >
349 * The next_opt computation above below 'opt->len' initialized
354 * -last option in buffer with 'opt->len' being too large
359 next_opt = (struct opthdr *)((uchar_t *)&opt[1] +
360 _TPI_ALIGN_OPT(opt->len));
362 if ((uchar_t *)next_opt < (uchar_t *)&opt[1] ||
369 if (opt->name == T_ALLOPT)
372 error = proto_opt_check(opt->level, opt->name, opt->len, NULL,
420 for (opt = opt_start; opt < opt_end; opt = next_opt) {
422 next_opt = (struct opthdr *)((uchar_t *)&opt[1] +
423 _TPI_ALIGN_OPT(opt->len));
425 opt1->name = opt->name;
426 opt1->level = opt->level;
427 len = (*getfn)(q, opt->level,
428 opt->name, (uchar_t *)&opt1[1]);
434 opt1->len = opt->len;
435 bcopy(&opt[1], &opt1[1], opt->len);
467 for (opt = opt_start; opt < opt_end; opt = next_opt) {
470 next_opt = (struct opthdr *)((uchar_t *)&opt[1] +
471 _TPI_ALIGN_OPT(opt->len));
474 opt->level, opt->name,
475 opt->len, (uchar_t *)&opt[1],
476 &opt->len, (uchar_t *)&opt[1], NULL, cr);
638 struct T_opthdr *opt;
656 for (opt = opt_start; opt && (opt < opt_end);
657 opt = _TPI_TOPT_NEXTHDR(opt_start, tor->OPT_length, opt)) {
662 if (!(_TPI_TOPT_VALID(opt, opt_start, opt_end)))
666 if (opt->name != T_ALLOPT) {
667 optd = proto_opt_lookup(opt->level, opt->name,
682 if (!opt_level_valid(opt->level,
689 opt->status = T_NOTSUPPORT;
690 *toa_lenp += _TPI_ALIGN_TOPT(opt->len);
701 ((allopt_len = opt_level_allopts_lengths(opt->level,
713 opt->status = T_FAILURE;
714 *toa_lenp += _TPI_ALIGN_TOPT(opt->len);
720 opt->status = T_SUCCESS;
748 opt->status = T_NOTSUPPORT;
749 *toa_lenp += _TPI_ALIGN_TOPT(opt->len);
760 opt->status = T_READONLY;
762 opt->status = T_SUCCESS;
786 (opt->len != sizeof (struct T_opthdr))) {
794 if (opt->len < sizeof (struct T_opthdr) ||
796 opt->len - sizeof (struct T_opthdr))) {
798 *toa_lenp += _TPI_ALIGN_TOPT(opt->len);
799 opt->status = T_FAILURE;
814 opt->status = T_READONLY;
815 *toa_lenp += _TPI_ALIGN_TOPT(opt->len);
826 opt->status = T_NOTSUPPORT;
827 *toa_lenp += _TPI_ALIGN_TOPT(opt->len);
837 opt->status = T_SUCCESS;
861 struct T_opthdr *opt;
880 for (opt = opt_start; opt && (opt < opt_end);
881 opt = _TPI_TOPT_NEXTHDR(opt_start, tor->OPT_length, opt)) {
884 ASSERT(_TPI_TOPT_VALID(opt, opt_start, opt_end));
896 (opt->status == T_NOTSUPPORT) ||
897 (opt->status == T_FAILURE) ||
899 (opt->status == T_READONLY));
920 bcopy(opt, optr, opt->len);
921 optr += _TPI_ALIGN_TOPT(opt->len);
923 *worst_statusp = get_worst_status(opt->status,
934 ASSERT(opt->status == T_SUCCESS || opt->status == T_READONLY);
941 if (do_opt_default(q, opt, &optr, worst_statusp,
943 opt->status = T_FAILURE;
944 bcopy(opt, optr, opt->len);
945 optr += _TPI_ALIGN_TOPT(opt->len);
946 *worst_statusp = get_worst_status(opt->status,
953 do_opt_current(q, opt, &optr, worst_statusp, cr,
963 do_opt_check_or_negotiate(q, opt, optset_context,
1524 struct T_opthdr *opt, *opt_start, *opt_end;
1574 for (opt = opt_start; opt && (opt < opt_end);
1575 opt = _TPI_TOPT_NEXTHDR(opt_start, *opt_lenp, opt)) {
1580 if (!_TPI_TOPT_VALID(opt, opt_start, opt_end)) {
1586 optd = proto_opt_lookup(opt->level, opt->name,
1593 opt->status = T_NOTSUPPORT;
1627 opt->status = T_FAILURE;
1648 if (opt->len < (t_uscalar_t)sizeof (struct T_opthdr) ||
1649 !opt_length_ok(optd, opt->len - sizeof (struct T_opthdr))) {
1657 opt->status = T_FAILURE;
1674 error = (*setfn)(q, optset_context, opt->level, opt->name,
1675 opt->len - (t_uscalar_t)sizeof (struct T_opthdr),
1676 _TPI_TOPT_DATA(opt), &olen, _TPI_TOPT_DATA(opt),
1679 if (olen > (int)(opt->len - sizeof (struct T_opthdr))) {
1701 opt->status = T_FAILURE;
1710 opt->status = T_SUCCESS;
1721 bcopy(opt, optr, opt->len);
1722 optr += _TPI_ALIGN_TOPT(opt->len);