Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet6/ip6_input.c
Show First 20 Lines • Show All 1,261 Lines • ▼ Show 20 Lines | case SO_TS_BINTIME: | ||||
break; | break; | ||||
case SO_TS_REALTIME: | case SO_TS_REALTIME: | ||||
if ((m->m_flags & (M_PKTHDR | M_TSTMP)) == (M_PKTHDR | | if ((m->m_flags & (M_PKTHDR | M_TSTMP)) == (M_PKTHDR | | ||||
M_TSTMP)) { | M_TSTMP)) { | ||||
mbuf_tstmp2timespec(m, &t.ts); | mbuf_tstmp2timespec(m, &t.ts); | ||||
getboottimebin(&boottimebin); | getboottimebin(&boottimebin); | ||||
bintime2timespec(&boottimebin, &ts1); | bintime2timespec(&boottimebin, &ts1); | ||||
timespecadd(&t.ts, &ts1); | timespecadd(&t.ts, &ts1, &t.ts); | ||||
} else { | } else { | ||||
nanotime(&t.ts); | nanotime(&t.ts); | ||||
} | } | ||||
*mp = sbcreatecontrol((caddr_t)&t.ts, sizeof(t.ts), | *mp = sbcreatecontrol((caddr_t)&t.ts, sizeof(t.ts), | ||||
SCM_REALTIME, SOL_SOCKET); | SCM_REALTIME, SOL_SOCKET); | ||||
if (*mp != NULL) { | if (*mp != NULL) { | ||||
mp = &(*mp)->m_next; | mp = &(*mp)->m_next; | ||||
stamped = true; | stamped = true; | ||||
▲ Show 20 Lines • Show All 584 Lines • Show Last 20 Lines |