Lines Matching refs:opt
161 struct T_opthdr *opt = (struct T_opthdr *)bufp;
164 syslog(LOG_INFO, "find_ucred_opt opt: %p %x, %d %d", opt,
165 opt->len, opt->name, opt->level);
167 if (opt->len > maxbufp - bufp || (opt->len & 3))
169 if (opt->level == SOL_SOCKET && opt->name == SCM_UCRED &&
170 opt->len - sizeof (struct T_opthdr) <= ucred_size()) {
174 (void) memcpy(uc, &opt[1],
175 opt->len - sizeof (struct T_opthdr));
178 bufp += opt->len;
281 struct T_opthdr *opt, *opt_start = NULL, *opt_end;
311 opt = opt_start;
317 if (((uchar_t *)opt + sizeof (struct T_opthdr)) >
322 if (opt->len < sizeof (struct T_opthdr)) {
326 if (((uchar_t *)opt + opt->len) > (uchar_t *)opt_end) {
330 switch (opt->level) {
332 if (opt->name == IP_RECVDSTADDR) {
335 opt++;
336 if (((uchar_t *)opt + sizeof (struct in_addr)) >
343 v4tmp.sin_addr = *(struct in_addr *)opt;
349 ia = *(struct in_addr *)opt;
379 ipv4sa->sin_addr = *(struct in_addr *)opt;
387 if (opt->name == IPV6_PKTINFO) {
389 opt++;
390 if (((uchar_t *)opt +
399 ((struct in6_pktinfo *)opt)->ipi6_addr;
405 in6_pkt = (struct in6_pktinfo *)opt;
436 ((struct in6_pktinfo *)opt)->ipi6_addr;
447 opt = (struct T_opthdr *)((uchar_t *)opt +
448 __TPI_ALIGN(opt->len));
449 } while (opt < opt_end);
515 oreq.opt.len = sizeof (struct opthdr) + optsz;
516 oreq.opt.buf = buf;
519 ores.opt.buf = buf;
520 ores.opt.maxlen = __TRANSPORT_INDSZ;