L4Re - L4 Runtime Environment
|
All kinds of timeouts and time related functions. More...
Data Structures | |
struct | l4_timeout_s |
Basic timeout specification. More... | |
union | l4_timeout_t |
Timeout pair. More... | |
Macros | |
#define | L4_IPC_TIMEOUT_0 ((l4_timeout_s){0x0400}) |
Timeout constants. More... | |
#define | L4_IPC_TIMEOUT_NEVER ((l4_timeout_s){0}) |
never timeout | |
#define | L4_IPC_NEVER_INITIALIZER {0} |
never timeout, init | |
#define | L4_IPC_NEVER ((l4_timeout_t){0}) |
never timeout | |
#define | L4_IPC_RECV_TIMEOUT_0 ((l4_timeout_t){0x00000400}) |
0 receive timeout | |
#define | L4_IPC_SEND_TIMEOUT_0 ((l4_timeout_t){0x04000000}) |
0 send timeout | |
#define | L4_IPC_BOTH_TIMEOUT_0 ((l4_timeout_t){0x04000400}) |
0 receive and send timeout | |
Typedefs | |
typedef struct l4_timeout_s | l4_timeout_s |
Basic timeout specification. More... | |
typedef union l4_timeout_t | l4_timeout_t |
Timeout pair. More... | |
Enumerations | |
enum | l4_timeout_abs_validity |
Intervals of validity for absolute timeoutsTimes are actually 2^x values (e.g. More... | |
Functions | |
l4_timeout_s | l4_timeout_rel (unsigned man, unsigned exp) L4_NOTHROW |
Get relative timeout consisting of mantissa and exponent. More... | |
l4_timeout_t | l4_ipc_timeout (unsigned snd_man, unsigned snd_exp, unsigned rcv_man, unsigned rcv_exp) L4_NOTHROW |
Convert explicit timeout values to l4_timeout_t type. More... | |
l4_timeout_t | l4_timeout (l4_timeout_s snd, l4_timeout_s rcv) L4_NOTHROW |
Combine send and receive timeout in a timeout. More... | |
void | l4_snd_timeout (l4_timeout_s snd, l4_timeout_t *to) L4_NOTHROW |
Set send timeout in given to timeout. More... | |
void | l4_rcv_timeout (l4_timeout_s rcv, l4_timeout_t *to) L4_NOTHROW |
Set receive timeout in given to timeout. More... | |
l4_kernel_clock_t | l4_timeout_rel_get (l4_timeout_s to) L4_NOTHROW |
Get clock value of out timeout. More... | |
unsigned | l4_timeout_is_absolute (l4_timeout_s to) L4_NOTHROW |
Return whether the given timeout is absolute or not. More... | |
l4_kernel_clock_t | l4_timeout_get (l4_kernel_clock_t cur, l4_timeout_s to) L4_NOTHROW |
Get clock value for a clock + a timeout. More... | |
l4_timeout_s | l4_timeout_abs (l4_kernel_clock_t pint, int br) L4_NOTHROW |
Set an absolute timeout. More... | |
unsigned | l4_utcb_mr64_idx (unsigned idx) L4_NOTHROW |
Get index into 64bit message registers alias from native-sized index. More... | |
All kinds of timeouts and time related functions.
#define L4_IPC_TIMEOUT_0 ((l4_timeout_s){0x0400}) |
Timeout constants.
0 timeout
Definition at line 77 of file __timeout.h.
Referenced by L4::Ipc_svr::Timeout_queue_hooks< Br_manager_timeout_hooks, Br_manager >::timeout().
typedef struct l4_timeout_s l4_timeout_s |
Basic timeout specification.
Basically a floating point number with 10 bits mantissa and 5 bits exponent (t = m*2^e).
The timeout can also specify an absolute point in time (bit 16 == 1).
typedef union l4_timeout_t l4_timeout_t |
Timeout pair.
For IPC there are usually a send and a receive timeout. So this structure contains a pair of timeouts.
Intervals of validity for absolute timeoutsTimes are actually 2^x values (e.g.
2ms -> 2048µs)
Definition at line 92 of file __timeout.h.
|
inline |
Convert explicit timeout values to l4_timeout_t type.
snd_man | Mantissa of send timeout. |
snd_exp | Exponent of send timeout. |
rcv_man | Mantissa of receive timeout. |
rcv_exp | Exponent of receive timeout. |
Definition at line 210 of file __timeout.h.
References l4_timeout_t::p, l4_timeout_t::rcv, l4_timeout_t::snd, and l4_timeout_s::t.
|
inline |
Set receive timeout in given to timeout.
rcv | Receive timeout |
to | L4 timeout |
Definition at line 238 of file __timeout.h.
|
inline |
Set send timeout in given to timeout.
snd | Send timeout |
to | L4 timeout |
Definition at line 231 of file __timeout.h.
|
inline |
Combine send and receive timeout in a timeout.
snd | Send timeout |
rcv | Receive timeout |
Definition at line 221 of file __timeout.h.
References l4_timeout_t::p, l4_timeout_t::rcv, l4_timeout_t::snd, and l4_timeout_s::t.
Referenced by L4::Ipc_svr::Timeout_queue_hooks< Br_manager_timeout_hooks, Br_manager >::timeout().
|
inline |
Set an absolute timeout.
pint | Point in time in clocks |
br | The buffer register the timeout shall be placed in. ( |
Definition at line 383 of file utcb.h.
Referenced by L4::Ipc_svr::Timeout_queue_hooks< Br_manager_timeout_hooks, Br_manager >::timeout().
|
inline |
Get clock value for a clock + a timeout.
cur | Clock value |
to | L4 timeout |
Definition at line 268 of file __timeout.h.
References l4_timeout_is_absolute(), and l4_timeout_rel_get().
|
inline |
Return whether the given timeout is absolute or not.
to | L4 timeout |
Definition at line 261 of file __timeout.h.
References l4_timeout_s::t.
Referenced by l4_timeout_get().
|
inline |
Get relative timeout consisting of mantissa and exponent.
man | Mantissa of timeout |
exp | Exponent of timeout |
Definition at line 245 of file __timeout.h.
|
inline |
Get clock value of out timeout.
to | L4 timeout |
Definition at line 252 of file __timeout.h.
References l4_timeout_s::t.
Referenced by l4_timeout_get().
|
inline |
Get index into 64bit message registers alias from native-sized index.
idx | Index to native-sized message register |
Definition at line 386 of file utcb.h.
References __END_DECLS.