| version 1.94, 2006/10/25 22:49:23 |
version 1.94.4.2, 2007/03/12 05:59:38 |
| Line 157 rip_input(struct mbuf *m, ...) |
|
| Line 157 rip_input(struct mbuf *m, ...) |
|
| ripsrc.sin_len = sizeof(struct sockaddr_in); |
ripsrc.sin_len = sizeof(struct sockaddr_in); |
| ripsrc.sin_addr = ip->ip_src; |
ripsrc.sin_addr = ip->ip_src; |
| ripsrc.sin_port = 0; |
ripsrc.sin_port = 0; |
| bzero((caddr_t)ripsrc.sin_zero, sizeof(ripsrc.sin_zero)); |
bzero((void *)ripsrc.sin_zero, sizeof(ripsrc.sin_zero)); |
| |
|
| /* |
/* |
| * XXX Compatibility: programs using raw IP expect ip_len |
* XXX Compatibility: programs using raw IP expect ip_len |
| Line 266 rip_pcbnotify(struct inpcbtable *table, |
|
| Line 266 rip_pcbnotify(struct inpcbtable *table, |
|
| } |
} |
| |
|
| void * |
void * |
| rip_ctlinput(int cmd, struct sockaddr *sa, void *v) |
rip_ctlinput(int cmd, const struct sockaddr *sa, void *v) |
| { |
{ |
| struct ip *ip = v; |
struct ip *ip = v; |
| void (*notify)(struct inpcb *, int) = in_rtchange; |
void (*notify)(struct inpcb *, int) = in_rtchange; |
| Line 285 rip_ctlinput(int cmd, struct sockaddr *s |
|
| Line 285 rip_ctlinput(int cmd, struct sockaddr *s |
|
| else if (errno == 0) |
else if (errno == 0) |
| return NULL; |
return NULL; |
| if (ip) { |
if (ip) { |
| rip_pcbnotify(&rawcbtable, satosin(sa)->sin_addr, |
rip_pcbnotify(&rawcbtable, satocsin(sa)->sin_addr, |
| ip->ip_src, ip->ip_p, errno, notify); |
ip->ip_src, ip->ip_p, errno, notify); |
| |
|
| /* XXX mapped address case */ |
/* XXX mapped address case */ |
| } else |
} else |
| in_pcbnotifyall(&rawcbtable, satosin(sa)->sin_addr, errno, |
in_pcbnotifyall(&rawcbtable, satocsin(sa)->sin_addr, errno, |
| notify); |
notify); |
| return NULL; |
return NULL; |
| } |
} |
| Line 513 rip_usrreq(struct socket *so, int req, |
|
| Line 513 rip_usrreq(struct socket *so, int req, |
|
| #endif |
#endif |
| |
|
| if (req == PRU_CONTROL) |
if (req == PRU_CONTROL) |
| return (in_control(so, (long)m, (caddr_t)nam, |
return (in_control(so, (long)m, (void *)nam, |
| (struct ifnet *)control, l)); |
(struct ifnet *)control, l)); |
| |
|
| s = splsoftnet(); |
s = splsoftnet(); |