RADPx-OS Kernel (Radical Posix OS)  Crimson 0.1.4
POSIX-inspired kernel API with embedded and desktop VM targets
rad_cpp.h File Reference

Small C++ convenience wrappers over the RADPx-OS C kernel ABI. More...

#include <radkernel/radkernel.h>
#include <stddef.h>
#include <stdint.h>
+ Include dependency graph for rad_cpp.h:

Go to the source code of this file.

Classes

class  rad::Span< T >
 Non-owning contiguous span used by lightweight C++ integrations. More...
 
class  rad::UniqueHandle< Handle, CloseFn >
 Move-only RAII owner for nullable RADPx-OS handles. More...
 
class  rad::Mutex
 RAII wrapper for rad_mutex_t. More...
 
class  rad::Event
 RAII wrapper for rad_event_t. More...
 
class  rad::Module
 RAII registration wrapper for rad_module_descriptor_t. More...
 

Typedefs

using rad::Device = UniqueHandle< rad_device_t, rad_device_close >
 RAII owner for rad_device_t.
 
using rad::File = UniqueHandle< rad_file_t, rad_vfs_close >
 RAII owner for rad_file_t.
 
using rad::Tty = UniqueHandle< rad_tty_t, rad_tty_close >
 RAII owner for rad_tty_t.
 
using rad::Pty = UniqueHandle< rad_pty_t, rad_pty_close >
 RAII owner for rad_pty_t.
 

Enumerations

enum class  rad::Status : int32_t {
  ok = RAD_STATUS_OK , error = RAD_STATUS_ERROR , invalid_argument = RAD_STATUS_INVALID_ARGUMENT , not_found = RAD_STATUS_NOT_FOUND ,
  no_memory = RAD_STATUS_NO_MEMORY , timeout = RAD_STATUS_TIMEOUT , not_supported = RAD_STATUS_NOT_SUPPORTED , already_exists = RAD_STATUS_ALREADY_EXISTS ,
  not_initialized = RAD_STATUS_NOT_INITIALIZED
}
 C++ status enum mirroring rad_status_t values. More...
 

Functions

constexpr bool rad::succeeded (rad_status_t status)
 Return true when a C API status is RAD_STATUS_OK.
 
constexpr bool rad::failed (rad_status_t status)
 Return true when a C API status is not RAD_STATUS_OK.
 

Detailed Description

Small C++ convenience wrappers over the RADPx-OS C kernel ABI.

Enumeration Type Documentation

◆ Status

enum rad::Status : int32_t
strong

C++ status enum mirroring rad_status_t values.

Enumerator
ok 

Operation completed successfully.

error 

Generic failure.

invalid_argument 

Caller supplied an invalid argument.

not_found 

Requested object was not found.

no_memory 

Allocation failed.

timeout 

Operation timed out.

not_supported 

Backend does not support the operation.

already_exists 

Object already exists.

not_initialized 

Kernel or handle is not initialized.