IPOPT_OFFSET
s[IPOPT_OFFSET] = IPOPT_MINOFF;
i = cp[IPOPT_OFFSET]; /* and pointer */
rspace[IPOPT_OFFSET] = IPOPT_MINOFF;
if (optlen < IPOPT_OFFSET + sizeof(*cp)) {
if ((off = cp[IPOPT_OFFSET]) < IPOPT_MINOFF) {
code = &cp[IPOPT_OFFSET] - (u_char *)ip;
cp[IPOPT_OFFSET] += sizeof(struct in_addr);
if (optlen < IPOPT_OFFSET + sizeof(*cp)) {
code = &cp[IPOPT_OFFSET] - (u_char *)ip;
if ((off = cp[IPOPT_OFFSET]) < IPOPT_MINOFF) {
code = &cp[IPOPT_OFFSET] - (u_char *)ip;
cp[IPOPT_OFFSET] += sizeof(struct in_addr);
if ((off = cp[IPOPT_OFFSET]) < 5) {
cp[IPOPT_OFFSET + 1] += (1 << 4);
if ((cp[IPOPT_OFFSET + 1] & 0xf0) == 0) {
code = &cp[IPOPT_OFFSET] - (u_char *)ip;
switch (cp[IPOPT_OFFSET + 1] & 0x0f) {
code = &cp[IPOPT_OFFSET] - (u_char *)ip;
cp[IPOPT_OFFSET] += sizeof(struct in_addr);
code = &cp[IPOPT_OFFSET] - (u_char *)ip;
cp[IPOPT_OFFSET] += sizeof(struct in_addr);
code = &cp[IPOPT_OFFSET + 1] - (u_char *)ip;
cp[IPOPT_OFFSET] += sizeof(uint32_t);
opts->ip_nhops = (olen - IPOPT_OFFSET - 1) / sizeof(struct in_addr);
opts->ip_srcrt.srcopt[IPOPT_OFFSET] = IPOPT_MINOFF;
bcopy((caddr_t)&cp[IPOPT_OFFSET+1], mtod(m, caddr_t),
bcopy((&cp[IPOPT_OFFSET+1] + sizeof(struct in_addr)),
&cp[IPOPT_OFFSET+1],
if (optlen != IPOPT_OFFSET + sizeof(uint16_t) ||
(*((uint16_t *)&cp[IPOPT_OFFSET]) != 0))
char srcopt[IPOPT_OFFSET + 1]; /* OPTVAL, OLEN and OFFSET */