The Pedigree Project 0.1
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
Module Class Reference
+ Collaboration diagram for Module:

Public Types

enum class  UnloadAdmission { Ready , Busy , KeepMapped }
 
enum  ModuleStatus {
  Unknown , Preloaded , Executing , Active ,
  Failed , Unloading , Unloaded
}
 
using UnloadAdmissionHook = UnloadAdmission(*)(bool terminal)
 

Public Member Functions

bool isPending () const
 
bool isLoaded () const
 
bool isUnloaded () const
 
bool isFailed () const
 
bool isActive () const
 
bool isExecuting () const
 
bool isUnloading () const
 
bool wasAttempted () const
 

Public Attributes

Elf * elf
 
RuntimeModuleSlot * runtime
 
String name
 
bool(* entry )()
 
void(* exit )()
 
UnloadAdmissionHook unloadAdmission
 
const char ** depends
 
const char ** depends_opt
 
uint8_t * buffer
 
size_t buflen
 
uintptr_t loadBase
 
size_t loadSize
 
bool unloadable
 
bool runtimeUnloadable
 
bool unloadComplete
 
size_t progressCredits
 
enum Module::ModuleStatus status
 

Protected Member Functions

 Module (const Module &)
 
Module & operator= (const Module &)
 

Detailed Description

Definition at line 44 of file KernelElf.h.

Member Typedef Documentation

◆ UnloadAdmissionHook

using Module::UnloadAdmissionHook = UnloadAdmission (*)(bool terminal)

Definition at line 47 of file KernelElf.h.

Member Enumeration Documentation

◆ ModuleStatus

enum Module::ModuleStatus

Definition at line 88 of file KernelElf.h.

◆ UnloadAdmission

enum class Module::UnloadAdmission
strong

Definition at line 46 of file KernelElf.h.

Constructor & Destructor Documentation

◆ Module()

Module::Module ( )
inline

Definition at line 48 of file KernelElf.h.

◆ ~Module()

Module::~Module ( )
inline

Definition at line 67 of file KernelElf.h.

Member Function Documentation

◆ isActive()

bool Module::isActive ( ) const
inline

Definition at line 106 of file KernelElf.h.

◆ isExecuting()

bool Module::isExecuting ( ) const
inline

Definition at line 110 of file KernelElf.h.

◆ isFailed()

bool Module::isFailed ( ) const
inline

Definition at line 102 of file KernelElf.h.

◆ isLoaded()

bool Module::isLoaded ( ) const
inline

Definition at line 94 of file KernelElf.h.

◆ isPending()

bool Module::isPending ( ) const
inline

Definition at line 90 of file KernelElf.h.

◆ isUnloaded()

bool Module::isUnloaded ( ) const
inline

Definition at line 98 of file KernelElf.h.

◆ isUnloading()

bool Module::isUnloading ( ) const
inline

Definition at line 114 of file KernelElf.h.

◆ wasAttempted()

bool Module::wasAttempted ( ) const
inline

Definition at line 118 of file KernelElf.h.

Member Data Documentation

◆ buffer

uint8_t* Module::buffer

Definition at line 79 of file KernelElf.h.

◆ buflen

size_t Module::buflen

Definition at line 80 of file KernelElf.h.

◆ depends

const char** Module::depends

Definition at line 77 of file KernelElf.h.

◆ depends_opt

const char** Module::depends_opt

Definition at line 78 of file KernelElf.h.

◆ elf

Elf* Module::elf

Definition at line 71 of file KernelElf.h.

◆ entry

bool(* Module::entry) ()

Definition at line 74 of file KernelElf.h.

◆ exit

void(* Module::exit) ()

Definition at line 75 of file KernelElf.h.

◆ loadBase

uintptr_t Module::loadBase

Definition at line 81 of file KernelElf.h.

◆ loadSize

size_t Module::loadSize

Definition at line 82 of file KernelElf.h.

◆ name

String Module::name

Definition at line 73 of file KernelElf.h.

◆ progressCredits

size_t Module::progressCredits

Definition at line 86 of file KernelElf.h.

◆ runtime

RuntimeModuleSlot* Module::runtime

Definition at line 72 of file KernelElf.h.

◆ runtimeUnloadable

bool Module::runtimeUnloadable

Definition at line 84 of file KernelElf.h.

◆ unloadable

bool Module::unloadable

Definition at line 83 of file KernelElf.h.

◆ unloadAdmission

UnloadAdmissionHook Module::unloadAdmission

Definition at line 76 of file KernelElf.h.

◆ unloadComplete

bool Module::unloadComplete

Definition at line 85 of file KernelElf.h.


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