Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F110747494
D37853.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D37853.diff
View Options
diff --git a/sys/dev/gxemul/ether/if_gx.c b/sys/dev/gxemul/ether/if_gx.c
--- a/sys/dev/gxemul/ether/if_gx.c
+++ b/sys/dev/gxemul/ether/if_gx.c
@@ -63,7 +63,7 @@
#include <dev/gxemul/ether/gxreg.h>
struct gx_softc {
- struct ifnet *sc_ifp;
+ if_t sc_ifp;
device_t sc_dev;
unsigned sc_port;
int sc_flags;
@@ -83,12 +83,12 @@
static int gx_shutdown(device_t);
static void gx_init(void *);
-static int gx_transmit(struct ifnet *, struct mbuf *);
+static int gx_transmit(if_t , struct mbuf *);
-static int gx_medchange(struct ifnet *);
-static void gx_medstat(struct ifnet *, struct ifmediareq *);
+static int gx_medchange(if_t );
+static void gx_medstat(if_t , struct ifmediareq *);
-static int gx_ioctl(struct ifnet *, u_long, caddr_t);
+static int gx_ioctl(if_t , u_long, caddr_t);
static void gx_rx_intr(void *);
@@ -131,7 +131,7 @@
static int
gx_attach(device_t dev)
{
- struct ifnet *ifp;
+ if_t ifp;
struct gx_softc *sc;
uint8_t mac[6];
int error;
@@ -171,14 +171,14 @@
}
if_initname(ifp, device_get_name(dev), device_get_unit(dev));
- ifp->if_mtu = ETHERMTU;
- ifp->if_init = gx_init;
- ifp->if_softc = sc;
- ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | IFF_ALLMULTI;
- ifp->if_ioctl = gx_ioctl;
+ if_setmtu(ifp, ETHERMTU);
+ if_setinitfn(ifp, gx_init);
+ if_setsoftc(ifp, sc);
+ if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | IFF_ALLMULTI);
+ if_setioctlfn(ifp, gx_ioctl);
sc->sc_ifp = ifp;
- sc->sc_flags = ifp->if_flags;
+ sc->sc_flags = if_getflags(ifp);
ifmedia_init(&sc->sc_ifmedia, 0, gx_medchange, gx_medstat);
@@ -189,7 +189,7 @@
ether_ifattach(ifp, mac);
- ifp->if_transmit = gx_transmit;
+ if_settransmitfn(ifp, gx_transmit);
return (bus_generic_attach(dev));
}
@@ -216,26 +216,26 @@
static void
gx_init(void *arg)
{
- struct ifnet *ifp;
+ if_t ifp;
struct gx_softc *sc;
sc = arg;
ifp = sc->sc_ifp;
- if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0)
- ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
+ if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0)
+ if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING);
- ifp->if_drv_flags |= IFF_DRV_RUNNING;
+ if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0);
}
static int
-gx_transmit(struct ifnet *ifp, struct mbuf *m)
+gx_transmit(if_t ifp, struct mbuf *m)
{
struct gx_softc *sc;
- sc = ifp->if_softc;
+ sc = if_getsoftc(ifp);
- if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != IFF_DRV_RUNNING) {
+ if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != IFF_DRV_RUNNING) {
m_freem(m);
return (0);
}
@@ -257,17 +257,17 @@
}
static int
-gx_medchange(struct ifnet *ifp)
+gx_medchange(if_t ifp)
{
return (ENOTSUP);
}
static void
-gx_medstat(struct ifnet *ifp, struct ifmediareq *ifm)
+gx_medstat(if_t ifp, struct ifmediareq *ifm)
{
struct gx_softc *sc;
- sc = ifp->if_softc;
+ sc = if_getsoftc(ifp);
/* Lie amazingly. */
ifm->ifm_status = IFM_AVALID | IFM_ACTIVE;
@@ -275,7 +275,7 @@
}
static int
-gx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
+gx_ioctl(if_t ifp, u_long cmd, caddr_t data)
{
struct gx_softc *sc;
struct ifreq *ifr;
@@ -284,7 +284,7 @@
#endif
int error;
- sc = ifp->if_softc;
+ sc = if_getsoftc(ifp);
ifr = (struct ifreq *)data;
#ifdef INET
ifa = (struct ifaddr *)data;
@@ -297,8 +297,8 @@
* Avoid reinitialization unless it's necessary.
*/
if (ifa->ifa_addr->sa_family == AF_INET) {
- ifp->if_flags |= IFF_UP;
- if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
+ if_setflagsbit(ifp, IFF_UP, 0);
+ if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0)
gx_init(sc);
arp_ifinit(ifp, ifa);
@@ -311,16 +311,16 @@
return (0);
case SIOCSIFFLAGS:
- if (ifp->if_flags == sc->sc_flags)
+ if (if_getflags(ifp) == sc->sc_flags)
return (0);
- if ((ifp->if_flags & IFF_UP) != 0) {
+ if ((if_getflags(ifp) & IFF_UP) != 0) {
gx_init(sc);
} else {
- if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) {
- ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
+ if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) {
+ if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING);
}
}
- sc->sc_flags = ifp->if_flags;
+ sc->sc_flags = if_getflags(ifp);
return (0);
case SIOCSIFMTU:
@@ -390,7 +390,7 @@
GXEMUL_ETHER_UNLOCK(sc);
- (*sc->sc_ifp->if_input)(sc->sc_ifp, m);
+ if_input(sc->sc_ifp, m);
GXEMUL_ETHER_LOCK(sc);
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Feb 23, 2:29 PM (3 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16798629
Default Alt Text
D37853.diff (4 KB)
Attached To
Mode
D37853: Mechanically convert if_gx(4) to DrvAPI
Attached
Detach File
Event Timeline
Log In to Comment