/** * Construct a DHCP server with a default configuration. */ VBoxNetDhcp::VBoxNetDhcp():VBoxNetBaseService("VBoxNetDhcp", "VBoxNetDhcp") { /* m_enmTrunkType = kIntNetTrunkType_WhateverNone; */ RTMAC mac; mac.au8[0] = 0x08; mac.au8[1] = 0x00; mac.au8[2] = 0x27; mac.au8[3] = 0x40; mac.au8[4] = 0x41; mac.au8[5] = 0x42; setMacAddress(mac); RTNETADDRIPV4 address; address.u = RT_H2N_U32_C(RT_BSWAP_U32_C(RT_MAKE_U32_FROM_U8( 10, 0, 2, 5))); setIpv4Address(address); setSendBufSize(8 * _1K); setRecvBufSize(50 * _1K); m_uCurMsgType = UINT8_MAX; m_cbCurMsg = 0; m_pCurMsg = NULL; memset(&m_CurHdrs, '\0', sizeof(m_CurHdrs)); m_fIgnoreCmdLineParameters = true; for(unsigned int i = 0; i < RT_ELEMENTS(g_aOptionDefs); ++i) addCommandLineOption(&g_aOptionDefs[i]); }
void WlanCoreImpl::cacheInterfaceInfo() { m_deviceOk = false; memset(&m_deviceId, 0, sizeof(m_deviceId)); PWLAN_INTERFACE_INFO_LIST intfList; if (ERROR_SUCCESS == m_wlanapi->WlanEnumInterfaces(m_wlanHandle, NULL, &intfList)) { if (intfList->dwNumberOfItems > 0) { const WLAN_INTERFACE_INFO *intf = intfList->InterfaceInfo + 0; m_deviceOk = true; m_deviceId = intf->InterfaceGuid; m_deviceState = intf->isState; m_deviceDesc = QString::fromWCharArray(intf->strInterfaceDescription); } m_wlanapi->WlanFreeMemory(intfList); } if (m_deviceOk) { cacheRadioState(); cacheConnectionInfo(); } else { setSoftwareEnabled(false); setHardwareEnabled(false); setEnabled(false); setSsid(QString()); setMacAddress(QByteArray()); setSignalQuality(0); setProfileName(QString()); setConnected(false); } }
void WlanCoreImpl::cacheConnectionInfo() { QString profileName; QString ssid; bool connected = false; int signalQuality = 0; QByteArray macAddress; if (m_deviceOk) { PWLAN_CONNECTION_ATTRIBUTES conn; DWORD cb = sizeof(conn); WLAN_OPCODE_VALUE_TYPE vt; if (ERROR_SUCCESS == m_wlanapi->WlanQueryInterface(m_wlanHandle, &m_deviceId, wlan_intf_opcode_current_connection, NULL, &cb, reinterpret_cast<PVOID*>(&conn), &vt)) { profileName = QString::fromWCharArray(conn->strProfileName).trimmed(); connected = (conn->isState == wlan_interface_state_connected); ssid = QString::fromLatin1(reinterpret_cast<char*>(conn->wlanAssociationAttributes.dot11Ssid.ucSSID), conn->wlanAssociationAttributes.dot11Ssid.uSSIDLength); signalQuality = conn->wlanAssociationAttributes.wlanSignalQuality; macAddress = QByteArray(reinterpret_cast<char*>(conn->wlanAssociationAttributes.dot11Bssid), 6); m_wlanapi->WlanFreeMemory(conn); } } setSsid(ssid); setMacAddress(macAddress); setSignalQuality(signalQuality); setProfileName(profileName); setConnected(connected); }
void Enc28j60::init(uint8_t* mac_address) { // Set the MAC address setMacAddress(mac_address); // Initialize the ENC28J60 chip reset(); // Set and enable ENC268J60 interrupt gpio_.setCallback(&interrupt_); gpio_.enableInterrupts(); }
void CLASS::hwInit( void ) { fFullDuplexMode = false; hwStop(); // Disable all wakeup sources WriteReg(WCSR, 0); // Program CFG fRegCFG |= CFG_PINT_ACEN; fRegCFG &= ~(CFG_EUPHCOMP | CFG_PESEL | CFG_BEM | CFG_PHY_DIS); WriteRegFlush(CFG, fRegCFG); // Reset internal PHY WriteRegFlush(CFG, fRegCFG | CFG_PHY_RST); IOSleep(100); WriteRegFlush(CFG, fRegCFG); // Program descriptor pointers WriteReg( RXDP, fRxDescPhysAddr ); WriteReg( TXDP, fTxDescPhysAddr ); // MAC Tx and Rx configuration fRegTXCFG = TXCFG_ATP | TXCFG_MXDMA_256 | ((512/32) << TXCFG_FLTH_SHIFT) | (( 64/32) << TXCFG_DRTH_SHIFT); WriteReg(TXCFG, fRegTXCFG); fRegRXCFG = RXCFG_MXDMA_256 | ((128/8) << RXCFG_DRTH_SHIFT); WriteReg(RXCFG, fRegRXCFG); // Clear all statistics counters WriteReg(MIBC, MIBC_ACLR); // Program receive filters setMacAddress(); fRegRFCR = RFCR_RFEN | RFCR_AAB | RFCR_APM; WriteReg(RFCR, fRegRFCR); // Program interrupt holdoff (100us units) WriteReg(IHR, 3); }
VBoxNetLwipNAT::VBoxNetLwipNAT(SOCKET icmpsock4, SOCKET icmpsock6) : VBoxNetBaseService("VBoxNetNAT", "nat-network") { LogFlowFuncEnter(); m_ProxyOptions.ipv6_enabled = 0; m_ProxyOptions.ipv6_defroute = 0; m_ProxyOptions.icmpsock4 = icmpsock4; m_ProxyOptions.icmpsock6 = icmpsock6; m_ProxyOptions.tftp_root = NULL; m_ProxyOptions.src4 = NULL; m_ProxyOptions.src6 = NULL; RT_ZERO(m_src4); RT_ZERO(m_src6); m_src4.sin_family = AF_INET; m_src6.sin6_family = AF_INET6; #if HAVE_SA_LEN m_src4.sin_len = sizeof(m_src4); m_src6.sin6_len = sizeof(m_src6); #endif m_ProxyOptions.nameservers = NULL; m_LwipNetIf.name[0] = 'N'; m_LwipNetIf.name[1] = 'T'; RTMAC mac; mac.au8[0] = 0x52; mac.au8[1] = 0x54; mac.au8[2] = 0; mac.au8[3] = 0x12; mac.au8[4] = 0x35; mac.au8[5] = 0; setMacAddress(mac); RTNETADDRIPV4 address; address.u = RT_MAKE_U32_FROM_U8( 10, 0, 2, 2); // NB: big-endian setIpv4Address(address); address.u = RT_H2N_U32_C(0xffffff00); setIpv4Netmask(address); fDontLoadRulesOnStartup = false; for(unsigned int i = 0; i < RT_ELEMENTS(g_aGetOptDef); ++i) addCommandLineOption(&g_aGetOptDef[i]); LogFlowFuncLeave(); }
WirelessAccessPoint::WirelessAccessPoint(const QDBusObjectPath &objectPath, QObject *parent) : QObject(parent), m_objectPath(objectPath), m_securityFlags(0) { QDBusInterface accessPointInterface(serviceString, m_objectPath.path(), accessPointInterfaceString, QDBusConnection::systemBus()); if(!accessPointInterface.isValid()) { qCWarning(dcNetworkManager()) << "Invalid access point dbus interface"; return; } // Init properties setSsid(accessPointInterface.property("Ssid").toString()); setMacAddress(accessPointInterface.property("HwAddress").toString()); setFrequency(accessPointInterface.property("Frequency").toDouble() / 1000); setSignalStrength(accessPointInterface.property("Strength").toUInt()); setSecurityFlags(WirelessAccessPoint::ApSecurityModes(accessPointInterface.property("WpaFlags").toUInt())); setIsProtected((bool)accessPointInterface.property("Flags").toUInt()); QDBusConnection::systemBus().connect(serviceString, objectPath.path(), accessPointInterfaceString, "PropertiesChanged", this, SLOT(onPropertiesChanged(QVariantMap))); }