Index: ieee80211_proto.h =================================================================== --- ieee80211_proto.h (revision 250408) +++ ieee80211_proto.h (working copy) @@ -96,8 +96,13 @@ struct ieee80211_bpf_params *); int ieee80211_raw_xmit(struct ieee80211_node *, struct mbuf *, const struct ieee80211_bpf_params *); +#if __FreeBSD_version >= 1000031 int ieee80211_output(struct ifnet *, struct mbuf *, const struct sockaddr *, struct route *ro); +#else +int ieee80211_output(struct ifnet *, struct mbuf *, + struct sockaddr *, struct route *ro); +#endif int ieee80211_raw_output(struct ieee80211vap *, struct ieee80211_node *, struct mbuf *, const struct ieee80211_bpf_params *); void ieee80211_send_setup(struct ieee80211_node *, struct mbuf *, int, int, Index: ieee80211_output.c =================================================================== --- ieee80211_output.c (revision 250408) +++ ieee80211_output.c (working copy) @@ -448,9 +448,15 @@ * connect bpf write calls to the 802.11 layer for injecting * raw 802.11 frames. */ +#if __FreeBSD_version >= 1000031 int ieee80211_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, struct route *ro) +#else +int +ieee80211_output(struct ifnet *ifp, struct mbuf *m, + struct sockaddr *dst, struct route *ro) +#endif { #define senderr(e) do { error = (e); goto bad;} while (0) struct ieee80211_node *ni = NULL; Index: ieee80211_var.h =================================================================== --- ieee80211_var.h (revision 250408) +++ ieee80211_var.h (working copy) @@ -496,8 +496,13 @@ int (*iv_newstate)(struct ieee80211vap *, enum ieee80211_state, int); /* 802.3 output method for raw frame xmit */ +#if __FreeBSD_version >= 1000031 int (*iv_output)(struct ifnet *, struct mbuf *, const struct sockaddr *, struct route *); +#else + int (*iv_output)(struct ifnet *, struct mbuf *, + struct sockaddr *, struct route *); +#endif uint64_t iv_spare[6]; }; MALLOC_DECLARE(M_80211_VAP); Index: ieee80211.c =================================================================== --- ieee80211.c (revision 250408) +++ ieee80211.c (working copy) @@ -241,9 +241,15 @@ return EACCES; /* XXX EIO/EPERM? */ } +#if __FreeBSD_version >= 1000031 static int null_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, struct route *ro) +#else +static int +null_output(struct ifnet *ifp, struct mbuf *m, + struct sockaddr *dst, struct route *ro) +#endif { if_printf(ifp, "discard raw packet\n"); return null_transmit(ifp, m);