L4Re Operating System Framework – Interface and Usage Documentation
Loading...
Searching...
No Matches
types.h File Reference

Common L4 ABI Data Types. More...

#include <l4/sys/l4int.h>
#include <l4/sys/compiler.h>
#include <l4/sys/consts.h>
#include <l4/sys/__l4_fpage.h>
#include <l4/sys/__timeout.h>
+ Include dependency graph for types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  l4_msgtag_t
 Message tag data structure. More...
 

Typedefs

typedef struct l4_msgtag_t l4_msgtag_t
 Message tag data structure.
 
typedef unsigned long l4_cap_idx_t
 Capability selector type.
 

Enumerations

enum  L4_msgtag_protocol {
  L4_PROTO_NONE = 0 , L4_PROTO_ALLOW_SYSCALL = 1 , L4_PROTO_PF_EXCEPTION = 1 , L4_PROTO_IRQ = -1L ,
  L4_PROTO_PAGE_FAULT = -2L , L4_PROTO_PREEMPTION = -3L , L4_PROTO_SYS_EXCEPTION = -4L , L4_PROTO_EXCEPTION = -5L ,
  L4_PROTO_SIGMA0 = -6L , L4_PROTO_IO_PAGE_FAULT = -8L , L4_PROTO_KOBJECT = -10L , L4_PROTO_TASK = -11L ,
  L4_PROTO_THREAD = -12L , L4_PROTO_LOG = -13L , L4_PROTO_SCHEDULER = -14L , L4_PROTO_FACTORY = -15L ,
  L4_PROTO_VM = -16L , L4_PROTO_DMA_SPACE = -17L , L4_PROTO_IRQ_SENDER = -18L , L4_PROTO_IRQ_MUX = -19L ,
  L4_PROTO_SEMAPHORE = -20L , L4_PROTO_META = -21L , L4_PROTO_IOMMU = -22L , L4_PROTO_DEBUGGER = -23L ,
  L4_PROTO_SMCCC = -24L
}
 Message tag for IPC operations. More...
 
enum  L4_msgtag_flags { L4_MSGTAG_ERROR , L4_MSGTAG_TRANSFER_FPU , L4_MSGTAG_SCHEDULE , L4_MSGTAG_PROPAGATE = 0x4000 , L4_MSGTAG_FLAGS }
 Flags for message tags. More...
 

Functions

l4_msgtag_t l4_msgtag (long label, unsigned words, unsigned items, unsigned flags) L4_NOTHROW
 Create a message tag from the specified values.
 
long l4_msgtag_label (l4_msgtag_t t) L4_NOTHROW
 Get the protocol of tag.
 
unsigned l4_msgtag_words (l4_msgtag_t t) L4_NOTHROW
 Get the number of untyped words.
 
unsigned l4_msgtag_items (l4_msgtag_t t) L4_NOTHROW
 Get the number of typed items.
 
unsigned l4_msgtag_flags (l4_msgtag_t t) L4_NOTHROW
 Get the flags.
 
unsigned l4_msgtag_has_error (l4_msgtag_t t) L4_NOTHROW
 Test for error indicator flag.
 
unsigned l4_msgtag_is_page_fault (l4_msgtag_t t) L4_NOTHROW
 Test for page-fault protocol.
 
unsigned l4_msgtag_is_preemption (l4_msgtag_t t) L4_NOTHROW
 Test for preemption protocol.
 
unsigned l4_msgtag_is_sys_exception (l4_msgtag_t t) L4_NOTHROW
 Test for system-exception protocol.
 
unsigned l4_msgtag_is_exception (l4_msgtag_t t) L4_NOTHROW
 Test for exception protocol.
 
unsigned l4_msgtag_is_sigma0 (l4_msgtag_t t) L4_NOTHROW
 Test for sigma0 protocol.
 
unsigned l4_msgtag_is_io_page_fault (l4_msgtag_t t) L4_NOTHROW
 Test for IO-page-fault protocol.
 
unsigned l4_is_invalid_cap (l4_cap_idx_t c) L4_NOTHROW
 Test if a capability selector is the invalid capability.
 
unsigned l4_is_valid_cap (l4_cap_idx_t c) L4_NOTHROW
 Test if a capability selector is a valid selector.
 
unsigned l4_capability_equal (l4_cap_idx_t c1, l4_cap_idx_t c2) L4_NOTHROW
 Test if the capability indices of two capability selectors are equal.
 
l4_cap_idx_t l4_capability_next (l4_cap_idx_t c) L4_NOTHROW
 Get the next capability selector after c.
 

Detailed Description

Common L4 ABI Data Types.

Definition in file types.h.

Function Documentation

◆ l4_capability_next()

l4_cap_idx_t l4_capability_next ( l4_cap_idx_t  c)
inline

Get the next capability selector after c.

Parameters
cThe capability selector for which the next selector shall be computed.
Returns
The next capability selector after c.

Definition at line 479 of file types.h.

References L4_CAP_OFFSET.