#include <mapdb.h>
Public Member Functions | |
unsigned | space () |
Address space. | |
Address | vaddr () |
Virtual address. | |
size_t | size () |
Size of page frame. | |
Mapping_type | type () |
Mapping type. | |
Mapping * | parent () |
Parent. | |
Mapping * | next_iter () |
Next mapping in the mapping tree. | |
Mapping * | next_child (Mapping *parent) |
Next child mapping of a given parent mapping. | |
bool | space_is_sigma0 () |
Private Member Functions | |
Mapping (const Mapping &) | |
Mapping_entry _data | __attribute__ ((packed)) |
Mapping () | |
Mapping_entry * | data () |
bool | unused () |
free entry?. | |
bool | is_end_tag () |
Mapping * | next (const Mapping *end_of_tree) |
Mapping_tree * | tree () |
Our Mapping_tree. | |
Friends | |
class | Mapdb |
class | Mapping_tree |
class | Jdb_mapdb |
struct | Physframe |
Instances of Mapping ("mappings") work as an iterator over a mapping tree. Mapping trees are never visible on the user level. Mappings are looked up directly in the mapping database (class Mapdb) using Mapdb::lookup(). When carrying out such a lookup, the mapping database locks the corresponding mapping tree before returning the mapping. This mapping can the be used to iterate over the tree and to look up other mappings in the tree. The mapping tree is unlocked (and all mappings pointing into it become invalid) when Mapdb::free is called with any one of its mappings.
|
|
|
|
|
|
|
|
|
|
|
|
|
Next child mapping of a given parent mapping. This function traverses the mapping tree like next_iter(); however, it stops (and returns 0) if the next mapping is ouside the subtree starting with parent.
|
|
Next mapping in the mapping tree.
|
|
Parent.
|
|
Size of page frame.
|
|
Address space.
|
|
|
|
Our Mapping_tree.
|
|
Mapping type.
|
|
free entry?.
|
|
Virtual address.
|
|
|
|
|
|
|
|
|