nn::os Namespace

Description

The namespace of the operating system library.

This namespace class is thread-safe between instances. In addition, it is also thread-safe within some instances.

Namespaces

nn::os::ARM The namespace of the ARM operating system library. (This namespace can also be written without the ::ARM portion.)
nn::os::CTR The namespace of the CTR operating system library.(This namespace can also be written without the ::CTR part.)

Classes

Time
nn::os::Alarm Class for handling alarms.
nn::os::Tick Class for handling system ticks.
nn::os::Timer Class for representing timers.
Thread
nn::os::AutoStackManager Stack manager interface used by the Thread::StartUsingAutoStack function.
nn::os::ManagedThread Utility class with additional features to the standard Thread.
nn::os::SimpleAutoStackManager Implementation of AutoStackManager using fnd::IAllocator.
nn::os::StackMemoryAutoStackManager Implementation of AutoStackManager using StackMemory.
nn::os::Thread Class for representing threads.
nn::os::StackBuffer Class template used for placing the thread stack in locations such as within a static region or a structure.
nn::os::ThreadLocalStorage Class that represents thread-local storage with the same size as the uptr type.
Synchronization Mechanisms
nn::os::BlockingQueue Class for handling blocking queues.
nn::os::SafeBlockingQueue Class for handling blocking queues.
nn::os::CriticalSection Class for handling critical sections. Critical sections are synchronization objects used for providing mutual exclusion.
nn::os::Event Class for handling events. Events are synchronization objects that send notification that an event has occurred.
nn::os::LightBarrier Synchronization mechanism that waits for the arrival of multiple threads.
nn::os::LightEvent Synchronization mechanism for communicating flags between threads.
nn::os::LightSemaphore Synchronization mechanism for mutual exclusion of resources between threads.
nn::os::Mutex Class for handling mutexes. Mutexes are synchronization objects used for providing mutual exclusion.
nn::os::Semaphore Class for handling semaphores. Semaphores are synchronization objects that have counters.
nn::os::WaitObject Base class for objects that are able to wait.
Memory Management
nn::os::MemoryBlock Class allocating memory from the specified region in the heap.
nn::os::MemoryBlockBase Base class for classes handling contiguous memory regions.
nn::os::StackMemory Class that partitions a specified memory region for use as a stack.
nn::os::StackMemoryBlock Class allocating stack memory from the heap in the specified region.
Other
nn::os::HandleObject Abstract base class that represents an object managed by the OS.

Structures

nn::os::LockPolicy Container class used for operations related to lock policies.

typedef Definitions

AlarmHandler Type representing handlers that are run for alarms.

Functions

InitializeAlarmSystem Initializes the alarm system.
GetAppMemorySize Gets the maximum total amount of memory that the application can use.
GetUsingMemorySize Gets the total size of memory currently allocated to the program.
SetupHeapForMemoryBlock This function sets up the OS to emulate the same memory environment that was used in CTR-SDK 0.9 and prior versions.
GetDeviceMemoryAddress Gets the starting address of the device memory.
SetDeviceMemorySize Changes the size of the device memory.
GetDeviceMemorySize Gets the size of the device memory.
GetHeapAddress Gets the starting address of the heap.
SetHeapSize Changes the size of the heap.
GetHeapSize Gets the size of the heap.
GetCodeRegionAddress Gets the starting address of the executable code region.
GetCodeRegionSize Gets the size of the executable code region.
InitializeMemoryBlock Allows use of the MemoryBlock and StackMemoryBlock classes.

Revision History

2012/04/23
Categorized the various classes.
2010/01/07
Initial version.

CONFIDENTIAL