Lines Matching refs:soffset
93 int soffset, doffset; in __ip_options_echo() local
106 soffset = sptr[sopt->rr+2]; in __ip_options_echo()
109 if (sopt->rr_needaddr && soffset <= optlen) { in __ip_options_echo()
110 if (soffset + 3 > optlen) in __ip_options_echo()
112 dptr[2] = soffset + 4; in __ip_options_echo()
120 soffset = sptr[sopt->ts+2]; in __ip_options_echo()
123 if (soffset <= optlen) { in __ip_options_echo()
125 if (soffset + 3 > optlen) in __ip_options_echo()
128 soffset += 4; in __ip_options_echo()
131 if (soffset + 3 > optlen) in __ip_options_echo()
135 soffset += 4; in __ip_options_echo()
139 if (soffset + 7 <= optlen) { in __ip_options_echo()
142 memcpy(&addr, dptr+soffset-1, 4); in __ip_options_echo()
145 soffset += 8; in __ip_options_echo()
150 dptr[2] = soffset; in __ip_options_echo()
160 soffset = start[2]; in __ip_options_echo()
162 if (soffset > optlen) in __ip_options_echo()
163 soffset = optlen + 1; in __ip_options_echo()
164 soffset -= 4; in __ip_options_echo()
165 if (soffset > 3) { in __ip_options_echo()
166 memcpy(&faddr, &start[soffset-1], 4); in __ip_options_echo()
167 for (soffset -= 4, doffset = 4; soffset > 3; soffset -= 4, doffset += 4) in __ip_options_echo()
168 memcpy(&dptr[doffset-1], &start[soffset-1], 4); in __ip_options_echo()
173 &start[soffset + 3], 4) == 0) in __ip_options_echo()