ReXGlue SDK
Loading...
Searching...
No Matches
list.h File Reference

Guest list and spin lock structures. More...

#include <type_traits>
#include <rex/assert.h>
#include <rex/kernel/heap.h>
#include <rex/types.h>

Go to the source code of this file.

Classes

struct  rex::kernel::X_LIST_ENTRY
struct  rex::kernel::X_SINGLE_LIST_ENTRY
struct  rex::kernel::X_SLIST_HEADER
struct  rex::kernel::X_KSPINLOCK
struct  rex::kernel::X_TYPED_LIST< TObject, EntryListOffset >
struct  rex::kernel::X_TYPED_LIST< TObject, EntryListOffset >::ForwardIterator< VirtualTranslator >
struct  rex::kernel::X_TYPED_LIST< TObject, EntryListOffset >::ForwardIteratorBegin< VirtualTranslator >

Namespaces

namespace  rex
namespace  rex::kernel

Functions

template<typename VirtualTranslator>
X_LIST_ENTRY * rex::kernel::HostListEntry (u32 ptr, VirtualTranslator context)
template<typename VirtualTranslator>
u32 rex::kernel::GuestListAddress (X_LIST_ENTRY *ptr, VirtualTranslator context)
template<typename VirtualTranslator>
void rex::kernel::InitializeListHead (X_LIST_ENTRY *entry, VirtualTranslator context)
template<typename VirtualTranslator>
bool rex::kernel::IsListEmpty (X_LIST_ENTRY *entry, VirtualTranslator context)
template<typename VirtualTranslator>
void rex::kernel::RemoveEntryList (X_LIST_ENTRY *entry, VirtualTranslator context)
template<typename VirtualTranslator>
void rex::kernel::RemoveEntryList (u32 entry, VirtualTranslator context)
template<typename VirtualTranslator>
u32 rex::kernel::RemoveHeadList (X_LIST_ENTRY *entry, VirtualTranslator context)
template<typename VirtualTranslator>
void rex::kernel::InsertTailList (X_LIST_ENTRY *list_head, u32 list_head_guest, X_LIST_ENTRY *host_entry, u32 entry, VirtualTranslator context)
template<typename VirtualTranslator>
void rex::kernel::InsertTailList (u32 list_head, u32 entry, VirtualTranslator context)
template<typename VirtualTranslator>
void rex::kernel::InsertTailList (X_LIST_ENTRY *list_head, X_LIST_ENTRY *entry, VirtualTranslator context)
template<typename VirtualTranslator>
void rex::kernel::InsertHeadList (X_LIST_ENTRY *list_head, u32 list_head_guest, X_LIST_ENTRY *host_entry, u32 entry, VirtualTranslator context)
template<typename VirtualTranslator>
void rex::kernel::InsertHeadList (u32 list_head, X_LIST_ENTRY *entry, VirtualTranslator context)
template<typename VirtualTranslator>
void rex::kernel::InsertHeadList (X_LIST_ENTRY *list_head, X_LIST_ENTRY *entry, VirtualTranslator context)

Detailed Description

Guest list and spin lock structures.

License
BSD 3-Clause License See LICENSE file in the project root for full license text.
Remarks
The list views derive from Xenia (Ben Vanik, 2013).