From 11b7f58408f1532303eb64ce71a1307f81665f9b Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 24 Oct 2013 14:46:25 +0200 Subject: Fix errno conflict Newlib defines errno as #define errno (*__errno()) In case this is expanded in a function parameter, e.g. void f(int errno) { ... } then we have a function pointer parameter instead of the integer scalar. --- freebsd/sys/netinet/in_pcb.c | 4 ++++ freebsd/sys/netinet/in_pcb.h | 11 +++-------- freebsd/sys/netinet/tcp_subr.c | 4 ++++ freebsd/sys/netinet/tcp_var.h | 20 ++++---------------- freebsd/sys/netinet/udp_usrreq.c | 4 ++++ freebsd/sys/netinet/udp_var.h | 4 ++++ 6 files changed, 23 insertions(+), 24 deletions(-) (limited to 'freebsd/sys/netinet') diff --git a/freebsd/sys/netinet/in_pcb.c b/freebsd/sys/netinet/in_pcb.c index b336164b..d56eb7ae 100644 --- a/freebsd/sys/netinet/in_pcb.c +++ b/freebsd/sys/netinet/in_pcb.c @@ -33,6 +33,10 @@ * @(#)in_pcb.c 8.4 (Berkeley) 5/24/95 */ +#ifdef __rtems__ +#include +#undef errno +#endif /* __rtems__ */ #include __FBSDID("$FreeBSD$"); diff --git a/freebsd/sys/netinet/in_pcb.h b/freebsd/sys/netinet/in_pcb.h index 334537d7..6e3a24be 100644 --- a/freebsd/sys/netinet/in_pcb.h +++ b/freebsd/sys/netinet/in_pcb.h @@ -441,7 +441,7 @@ void inp_4tuple_get(struct inpcb *inp, uint32_t *laddr, uint16_t *lp, /* * Flags for inp_flags2. */ -#define INP_LLE_VALID 0x00000001 /* cached lle is valid */ +#define INP_LLE_VALID 0x00000001 /* cached lle is valid */ #define INP_RT_VALID 0x00000002 /* cached rtentry is valid */ #define INPLOOKUP_WILDCARD 1 @@ -503,13 +503,8 @@ struct inpcb * struct inpcb * in_pcblookup_hash(struct inpcbinfo *, struct in_addr, u_int, struct in_addr, u_int, int, struct ifnet *); -#ifndef __rtems__ -void in_pcbnotifyall(struct inpcbinfo *pcbinfo, struct in_addr, - int, struct inpcb *(*)(struct inpcb *, int)); -#else -void in_pcbnotifyall(struct inpcbinfo *pcbinfo, struct in_addr faddr, int errno, - struct inpcb *(*notify)(struct inpcb *, int)); -#endif +void in_pcbnotifyall(struct inpcbinfo *pcbinfo, struct in_addr, + int, struct inpcb *(*)(struct inpcb *, int)); void in_pcbref(struct inpcb *); void in_pcbrehash(struct inpcb *); int in_pcbrele(struct inpcb *); diff --git a/freebsd/sys/netinet/tcp_subr.c b/freebsd/sys/netinet/tcp_subr.c index 55e5806f..027a2ad6 100644 --- a/freebsd/sys/netinet/tcp_subr.c +++ b/freebsd/sys/netinet/tcp_subr.c @@ -31,6 +31,10 @@ * @(#)tcp_subr.c 8.2 (Berkeley) 5/24/95 */ +#ifdef __rtems__ +#include +#undef errno +#endif /* __rtems__ */ #include __FBSDID("$FreeBSD$"); diff --git a/freebsd/sys/netinet/tcp_var.h b/freebsd/sys/netinet/tcp_var.h index 9de0ca89..7e186bcd 100644 --- a/freebsd/sys/netinet/tcp_var.h +++ b/freebsd/sys/netinet/tcp_var.h @@ -458,7 +458,7 @@ struct tcpstat { u_long tcps_sack_rcv_blocks; /* SACK blocks (options) received */ u_long tcps_sack_send_blocks; /* SACK blocks (options) sent */ u_long tcps_sack_sboverflow; /* times scoreboard overflowed */ - + /* ECN related stats */ u_long tcps_ecn_ce; /* ECN Congestion Experienced */ u_long tcps_ecn_ect0; /* ECN Capable Transport */ @@ -590,13 +590,8 @@ int tcp_twrecycleable(struct tcptw *tw); void tcp_twclose(struct tcptw *_tw, int _reuse); void tcp_ctlinput(int, struct sockaddr *, void *); int tcp_ctloutput(struct socket *, struct sockopt *); -#ifndef __rtems__ -struct tcpcb * - tcp_drop(struct tcpcb *, int); -#else struct tcpcb * -tcp_drop(struct tcpcb *tp, int errno); -#endif + tcp_drop(struct tcpcb *, int); void tcp_drain(void); void tcp_init(void); #ifdef VIMAGE @@ -619,17 +614,10 @@ u_long tcp_maxmtu6(struct in_conninfo *, int *); void tcp_mss_update(struct tcpcb *, int, struct hc_metrics_lite *, int *); void tcp_mss(struct tcpcb *, int); int tcp_mssopt(struct in_conninfo *); -#ifndef __rtems__ struct inpcb * - tcp_drop_syn_sent(struct inpcb *, int); + tcp_drop_syn_sent(struct inpcb *, int); struct inpcb * - tcp_mtudisc(struct inpcb *, int); -#else -struct inpcb * -tcp_drop_syn_sent(struct inpcb *inp, int errno); -struct inpcb * -tcp_mtudisc(struct inpcb *inp, int errno); -#endif + tcp_mtudisc(struct inpcb *, int); struct tcpcb * tcp_newtcpcb(struct inpcb *); int tcp_output(struct tcpcb *); diff --git a/freebsd/sys/netinet/udp_usrreq.c b/freebsd/sys/netinet/udp_usrreq.c index 26bdfed2..d47ffdaf 100644 --- a/freebsd/sys/netinet/udp_usrreq.c +++ b/freebsd/sys/netinet/udp_usrreq.c @@ -33,6 +33,10 @@ * @(#)udp_usrreq.c 8.6 (Berkeley) 5/23/95 */ +#ifdef __rtems__ +#include +#undef errno +#endif /* __rtems__ */ #include __FBSDID("$FreeBSD$"); diff --git a/freebsd/sys/netinet/udp_var.h b/freebsd/sys/netinet/udp_var.h index aa7ee470..947400b1 100644 --- a/freebsd/sys/netinet/udp_var.h +++ b/freebsd/sys/netinet/udp_var.h @@ -91,6 +91,10 @@ struct udpstat { }; #ifdef _KERNEL +#ifdef __rtems__ +#include +#undef errno +#endif /* __rtems__ */ /* * In-kernel consumers can use these accessor macros directly to update * stats. -- cgit v1.2.3