Lines Matching refs:soffset
94 int soffset, doffset; in __ip_options_echo() local
107 soffset = sptr[sopt->rr+2]; in __ip_options_echo()
110 if (sopt->rr_needaddr && soffset <= optlen) { in __ip_options_echo()
111 if (soffset + 3 > optlen) in __ip_options_echo()
113 dptr[2] = soffset + 4; in __ip_options_echo()
121 soffset = sptr[sopt->ts+2]; in __ip_options_echo()
124 if (soffset <= optlen) { in __ip_options_echo()
126 if (soffset + 3 > optlen) in __ip_options_echo()
129 soffset += 4; in __ip_options_echo()
132 if (soffset + 3 > optlen) in __ip_options_echo()
136 soffset += 4; in __ip_options_echo()
140 if (soffset + 7 <= optlen) { in __ip_options_echo()
143 memcpy(&addr, dptr+soffset-1, 4); in __ip_options_echo()
146 soffset += 8; in __ip_options_echo()
151 dptr[2] = soffset; in __ip_options_echo()
161 soffset = start[2]; in __ip_options_echo()
163 if (soffset > optlen) in __ip_options_echo()
164 soffset = optlen + 1; in __ip_options_echo()
165 soffset -= 4; in __ip_options_echo()
166 if (soffset > 3) { in __ip_options_echo()
167 memcpy(&faddr, &start[soffset-1], 4); in __ip_options_echo()
168 for (soffset -= 4, doffset = 4; soffset > 3; soffset -= 4, doffset += 4) in __ip_options_echo()
169 memcpy(&dptr[doffset-1], &start[soffset-1], 4); in __ip_options_echo()
174 &start[soffset + 3], 4) == 0) in __ip_options_echo()