L4Re - L4 Runtime Environment
 All Data Structures Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Kernel Objects

API of kernel objects. More...

+ Collaboration diagram for Kernel Objects:

Modules

 Factory
 A factory is used to create all kinds of kernel objects.
 IPC-Gate API
 Secure comminication object.
 IRQs
 The IRQ and ICU class.
 Interrupt controller
 The ICU class.
 Scheduler
 Scheduler object.
 Task
 Class definition of the Task kernel object.
 Thread
 Thread object.
 Virtual Console
 Virtual console for simple character based input and output.
 Virtual Machines
 Virtual Machine API.

Data Structures

class  L4::Kobject
 Base class for all kinds of kernel objects, referred to by capabilities. More...
class  L4::Meta
 Meta interface that shall be implemented by each L4Re object and gives access to the dynamic type information for L4Re objects. More...

Macros

#define L4_DISABLE_COPY(_class)
 Disable copy of a class.
#define L4_KOBJECT_DISABLE_COPY(_class)
 Disable copy and instantiation of a class.
#define L4_KOBJECT(_class)   L4_KOBJECT_DISABLE_COPY(_class)
 Declare a kernel object class.

Detailed Description

API of kernel objects.

#include <l4/sys/capability>

#include <l4/sys/kernel_object.h>

Macro Definition Documentation

#define L4_DISABLE_COPY (   _class)
Value:
private: \
_class(_class const &); \
_class operator = (_class const &);

Disable copy of a class.

Parameters
_classis the name of the class that shall not have value copy semantics.

The typical use of this is:

class Non_value
{
L4_DISABLE_COPY(Non_value)
...
}

Definition at line 396 of file capability.

#define L4_KOBJECT_DISABLE_COPY (   _class)
Value:
protected: \
_class(); \
L4_DISABLE_COPY(_class)

Disable copy and instantiation of a class.

Parameters
_classis the name of the class to be not copyable and not instantiatable.

The typical use looks like:

class Type
{
};

Definition at line 415 of file capability.

#define L4_KOBJECT (   _class)    L4_KOBJECT_DISABLE_COPY(_class)

Declare a kernel object class.

Parameters
_classis the class name.

The use of this macro disables copy and instantiation of the class as needed for kernel object classes derived from L4::Kobject.

The typical use looks like:

class Type : public L4::Kobject_t<Type, L4::Kobject>
{
L4_KOBJECT(Type)
};

Definition at line 437 of file capability.

L4Re - L4 Runtime Environment