![]() |
L4Re Operating System Framework
Interface and Usage Documentation
|
Interface to the ITAS. More...
#include <itas>
Public Types | |
enum | : unsigned { Ignore_sigaction = ~0U } |
Public Member Functions | |
int | register_thread (L4::Ipc::Cap< L4::Thread > parent, L4::Ipc::Cap< L4::Thread > thread_cap, l4_addr_t thread_utcb) |
Register new thread. | |
int | unregister_thread (L4::Ipc::Cap< L4::Thread > thread) |
Unregister a thread. | |
int | sigaction (int signum, const struct sigaction *act, struct sigaction *oldact) |
Examine and change a POSIX signal action. | |
int | sigaltstack (L4::Ipc::Cap< L4::Thread > thread, const struct sigaltstack *ss, struct sigaltstack *oss) |
Examine or set alternate POSIX signal stack. | |
int | sigprocmask (L4::Ipc::Cap< L4::Thread > thread, int how, sigset_t const *set, sigset_t *oldset) |
Examine or set process signal mask. | |
int | sigpending (L4::Ipc::Cap< L4::Thread > thread, sigset_t *set) |
Query pending signals. | |
int | setitimer (int which, const struct itimerval *new_value, struct itimerval *old_value) |
Set process interval timer. | |
int | getitimer (int which, struct itimerval *curr_value) |
Get process interval timer. | |
![]() | |
l4_msgtag_t | dec_refcnt (l4_mword_t diff, l4_utcb_t *utcb=l4_utcb()) |
Decrement the in kernel reference counter for the object. | |
Additional Inherited Members | |
![]() | |
typedef Itas | Class |
The target interface type (inheriting from Kobject_t) | |
typedef Typeid::Iface< PROTO, Itas > | __Iface |
The interface description for the derived class. | |
typedef Typeid::Merge_list< Typeid::Iface_list< __Iface >, typename Base::__Iface_list > | __Iface_list |
The list of all RPC interfaces provided directly or through inheritance. | |
![]() | |
L4::Cap< Class > | c () const noexcept |
Get the capability to ourselves. | |
![]() | |
l4_cap_idx_t | cap () const noexcept |
Return capability selector. | |
![]() | |
static void | __check_protocols__ () noexcept |
Helper to check for protocol conflicts. | |
Interface to the ITAS.
This is an internal interface between libc and the l4re_itas. Do not use it. It is subject to change.
anonymous enum : unsigned |
Enumerator | |
---|---|
Ignore_sigaction | Ignore new action of |
int L4Re::Itas::getitimer | ( | int | which, |
struct itimerval * | curr_value | ||
) |
Get process interval timer.
See IEEE Std 1003.1-2017 getitimer() for details.
[in] | which | Timer type (ITIMER_REAL ). |
[out] | curr_value | Old timer value. |
int L4Re::Itas::register_thread | ( | L4::Ipc::Cap< L4::Thread > | parent, |
L4::Ipc::Cap< L4::Thread > | thread_cap, | ||
l4_addr_t | thread_utcb | ||
) |
Register new thread.
Makes the newly created thread known to ITAS. The ITAS will do the thread_cap->control()
to bind the thread to the task and attach the gates for pager and exception handler.
parent | The capability of the thread that created the new thread. |
thread_cap | The capability of the new thread. |
thread_utcb | The address of the allocated UTCB of the new thread. |
int L4Re::Itas::setitimer | ( | int | which, |
const struct itimerval * | new_value, | ||
struct itimerval * | old_value | ||
) |
Set process interval timer.
See IEEE Std 1003.1-2017 setitimer() for details.
[in] | which | Timer type (ITIMER_REAL ). |
[in] | new_value | New timer value. |
[out] | old_value | Old timer value. |
int L4Re::Itas::sigaction | ( | int | signum, |
const struct sigaction * | act, | ||
struct sigaction * | oldact | ||
) |
Examine and change a POSIX signal action.
See IEEE Std 1003.1-2024 sigaction() for the behaviour of the method.
If act->sa_flags
is Ignore_sigaction
, the new action is ignored.
[in] | signum | Signal number to be examined and/or modified. |
[in] | act | New signal action. |
[out] | oldact | Old signal action. |
int L4Re::Itas::sigaltstack | ( | L4::Ipc::Cap< L4::Thread > | thread, |
const struct sigaltstack * | ss, | ||
struct sigaltstack * | oss | ||
) |
Examine or set alternate POSIX signal stack.
See IEEE Std 1003.1-2024 sigaltstack() for the behaviour of the method.
If ss->ss_flags
is -1, the new sigaltstack will be ignored.
[in] | thread | Thread cap of the thread whose sigaltstack is examined and/or modified. |
[in] | ss | The new sigaltstack. |
[out] | oss | The old sigaltstack. |
int L4Re::Itas::sigpending | ( | L4::Ipc::Cap< L4::Thread > | thread, |
sigset_t * | set | ||
) |
Query pending signals.
See IEEE Std 1003.1-2024 sigpending() for details.
[in] | thread | Thread cap of the thread whose pending signal are examined. |
[out] | set | Pending signals of thread. |
int L4Re::Itas::sigprocmask | ( | L4::Ipc::Cap< L4::Thread > | thread, |
int | how, | ||
sigset_t const * | set, | ||
sigset_t * | oldset | ||
) |
Examine or set process signal mask.
See IEEE Std 1003.1-2024 sigprocmask() for the behaviour or the method.
If how
is -1, the signal mask is left unchanged.
[in] | thread | Thread cap of the thread whose signal mask is examined and/or modified. |
[in] | how | Operation (SIG_BLOCK , SIG_UNBLOCK , SIG_SETMASK or -1). |
[in] | set | The new signal mask. |
[out] | oldset | The old signal mask. |
int L4Re::Itas::unregister_thread | ( | L4::Ipc::Cap< L4::Thread > | thread | ) |
Unregister a thread.
The gates for the thread's pager and exception hander will be destroyed. Thus, the thread must be destroyed after the call.
thread | The destroyed thread. |