NeKernel dev
Loading...
Searching...
No Matches
Kernel::PCI::Device Class Referencefinal

Device interface class. More...

#include <Device.h>

Public Member Functions

 Device ()=default
 Device (UShort bus, UShort device, UShort function, UInt32 bar)
Deviceoperator= (const Device &)=default
 Device (const Device &)=default
 ~Device ()
UInt Read (UInt bar, Size szData)
void Write (UInt bar, UIntPtr data, Size szData)
 operator bool ()
template<typename T>
UInt Read (UInt bar)
template<typename T>
void Write (UInt bar, UIntPtr data)
UShort DeviceId ()
UShort VendorId ()
UShort InterfaceId ()
UChar Class ()
UChar Subclass ()
UChar ProgIf ()
UChar HeaderType ()
UIntPtr Bar (UInt32 bar_in)
void EnableMmio ()
void BecomeBusMaster ()
UShort Vendor ()

Private Attributes

UShort fBus
UShort fDevice
UShort fFunction
UInt32 fBar

Detailed Description

Device interface class.

Constructor & Destructor Documentation

◆ Device() [1/3]

Kernel::PCI::Device::Device ( )
default

◆ Device() [2/3]

Kernel::PCI::Device::Device ( UShort bus,
UShort device,
UShort function,
UInt32 bar )

◆ Device() [3/3]

Kernel::PCI::Device::Device ( const Device & )
default

◆ ~Device()

Kernel::PCI::Device::~Device ( )
default

Member Function Documentation

◆ Bar()

UIntPtr Kernel::PCI::Device::Bar ( UInt32 bar_in)

◆ BecomeBusMaster()

void Kernel::PCI::Device::BecomeBusMaster ( )

◆ Class()

UChar Kernel::PCI::Device::Class ( )

◆ DeviceId()

UShort Kernel::PCI::Device::DeviceId ( )

◆ EnableMmio()

void Kernel::PCI::Device::EnableMmio ( )

◆ HeaderType()

UChar Kernel::PCI::Device::HeaderType ( )

◆ InterfaceId()

UShort Kernel::PCI::Device::InterfaceId ( )

◆ operator bool()

Kernel::PCI::Device::operator bool ( )

◆ operator=()

Device & Kernel::PCI::Device::operator= ( const Device & )
default

◆ ProgIf()

UChar Kernel::PCI::Device::ProgIf ( )

◆ Read() [1/2]

template<typename T>
UInt Kernel::PCI::Device::Read ( UInt bar)
inline

◆ Read() [2/2]

UInt Kernel::PCI::Device::Read ( UInt bar,
Size szData )

◆ Subclass()

UChar Kernel::PCI::Device::Subclass ( )

◆ Vendor()

UShort Kernel::PCI::Device::Vendor ( )

◆ VendorId()

UShort Kernel::PCI::Device::VendorId ( )

◆ Write() [1/2]

template<typename T>
void Kernel::PCI::Device::Write ( UInt bar,
UIntPtr data )
inline

◆ Write() [2/2]

void Kernel::PCI::Device::Write ( UInt bar,
UIntPtr data,
Size szData )

Member Data Documentation

◆ fBar

UInt32 Kernel::PCI::Device::fBar
private

◆ fBus

UShort Kernel::PCI::Device::fBus
private

◆ fDevice

UShort Kernel::PCI::Device::fDevice
private

◆ fFunction

UShort Kernel::PCI::Device::fFunction
private

The documentation for this class was generated from the following files: