VirtualBox

Ignore:
Timestamp:
Sep 26, 2012 11:19:04 AM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
80947
Message:

VBoxNetAdp/FreeBSD: Implement media state (thanks to Ed Maste)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/VBoxNetAdp/freebsd/VBoxNetAdp-freebsd.c

    r41199 r43439  
    4949#include <net/route.h>
    5050#include <net/if_dl.h>
     51#include <net/if_media.h>
    5152#include <net/if_types.h>
    5253#include <net/ethernet.h>
     
    247248static int VBoxNetAdpFreeBSDNetioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
    248249{
     250    int error = 0;
     251
    249252    switch (cmd)
    250253    {
     
    261264            }
    262265            break;
     266        case SIOCGIFMEDIA:
     267        {
     268            struct ifmediareq *ifmr;
     269            int count;
     270
     271            ifmr = (struct ifmediareq *)data;
     272            count = ifmr->ifm_count;
     273            ifmr->ifm_count = 1;
     274            ifmr->ifm_status = IFM_AVALID;
     275            ifmr->ifm_active = IFM_ETHER;
     276            ifmr->ifm_status |= IFM_ACTIVE;
     277            ifmr->ifm_current = ifmr->ifm_active;
     278            if (count >= 1)
     279            {
     280                int media = IFM_ETHER;
     281                error = copyout(&media, ifmr->ifm_ulist, sizeof(int));
     282            }
     283            break;
     284        }
    263285        default:
    264286            return ether_ioctl(ifp, cmd, data);
    265287    }
    266     return 0;
     288    return error;
    267289}
    268290
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette