20#include "pedigree/kernel/Log.h"
21#include "pedigree/kernel/machine/Device.h"
22#include "pedigree/kernel/utilities/List.h"
23#include "pedigree/kernel/utilities/new"
24#include "pedigree/kernel/utilities/utility.h"
27#include "modules/Module.h"
28#include "modules/system/network-stack/NetworkStack.h"
32static bool bFound =
false;
35static void probeDevice(
Device* pDev) {
45 g_Cards.pushBack(pNe2k);
51 if (!pNe2k->isValid()) {
52 ERROR(
"NE2K: device initialisation failed; device left disabled");
57 Device::searchByVendorIdAndDeviceId(NE2K_VENDOR_ID, NE2K_DEVICE_ID, probeDevice);
64 return device == target ? nullptr : device;
66 auto callback = pedigree_std::make_callable(removeCard);
67 while (g_Cards.count()) {
68 Ne2k* card = g_Cards.popFront();
78MODULE_DEPENDS(
"network-stack",
"pci");
static void foreach(Callback callback, Device *root=0)
Device * getParent() const
void setParent(Device *p)
void replaceChild(Device *src, Device *dest)
void deRegisterDevice(Network *pDevice)
static NetworkStack & instance()