Introduction   API Reference   Files   Index  

types.h File Reference

Common L4 types. More...

#include <l4/sys/l4int.h>
#include <l4/sys/compiler.h>

Go to the source code of this file.

Data Structures

union  l4_quota_desc_t
 Quota type structure. More...
struct  l4_msgtag_t
 Message tag for IPC operations. More...

Defines

#define L4_INVALID_KQUOTA   ((l4_quota_desc_t){ .raw = 0 })
 Invalid kernel quota.

Enumerations

enum  { L4_KQUOTA_CMD_NOOP, L4_KQUOTA_CMD_SHARE, L4_KQUOTA_CMD_NEW }
enum  l4_msgtag_protocol {
  L4_MSGTAG_IRQ = -1L, L4_MSGTAG_PAGE_FAULT = -2L, L4_MSGTAG_PREEMPTION = -3L, L4_MSGTAG_SYS_EXCEPTION = -4L,
  L4_MSGTAG_EXCEPTION = -5L, L4_MSGTAG_SIGMA0 = -6L, L4_MSGTAG_IO_PAGE_FAULT = -8L, L4_MSGTAG_CAP_FAULT = -9L
}
 Message tag for IPC operations. More...

Functions

l4_msgtag_t l4_msgtag (long label, unsigned words, unsigned items, unsigned flags)
 Create a message tag from the specified values.
long l4_msgtag_label (l4_msgtag_t t)
 Get the label of tag.
unsigned l4_msgtag_words (l4_msgtag_t t)
 Get the number of words.
unsigned l4_msgtag_items (l4_msgtag_t t)
 Get the number of items.
unsigned l4_msgtag_flags (l4_msgtag_t t)
 Get the flags.
unsigned l4_msgtag_is_irq (l4_msgtag_t t)
 Was the message an IRQ.
unsigned l4_msgtag_is_page_fault (l4_msgtag_t t)
 Was the message a page fault.
unsigned l4_msgtag_is_preemption (l4_msgtag_t t)
 Was the message a preemption IPC.
unsigned l4_msgtag_is_sys_exception (l4_msgtag_t t)
 Was the message an system exception.
unsigned l4_msgtag_is_exception (l4_msgtag_t t)
 Was the message an exception.
unsigned l4_msgtag_is_sigma0 (l4_msgtag_t t)
 Was the message desired for sigma0.
unsigned l4_msgtag_is_io_page_fault (l4_msgtag_t t)
 Was the message an I/O page fault.
unsigned l4_msgtag_is_cap_fault (l4_msgtag_t t)
 Was the message a cap fault.


Detailed Description

Common L4 types.

Definition in file types.h.


Enumeration Type Documentation

anonymous enum

Enumerator:
L4_KQUOTA_CMD_NOOP  Share quota with creator (id and amount irrelavant).
L4_KQUOTA_CMD_SHARE  Share quota with source id.
L4_KQUOTA_CMD_NEW  New quota, allocated from source id's quota.

Definition at line 31 of file types.h.


Function Documentation

l4_msgtag_t l4_msgtag ( long  label,
unsigned  words,
unsigned  items,
unsigned  flags 
) [inline]

Create a message tag from the specified values.

Parameters:
label the user-defined label
words the number of utyped words copied from the UTCB
items the number of typed items (e.g., flex pages) within the UTCB
flags the IPC flags for realtime and FPU extensions

Definition at line 184 of file types.h.

Referenced by l4_ipc_call(), l4_ipc_reply_and_wait(), and l4_ipc_send().

long l4_msgtag_label ( l4_msgtag_t  t  )  [inline]

unsigned l4_msgtag_words ( l4_msgtag_t  t  )  [inline]

Get the number of words.

Parameters:
t the tag

Definition at line 196 of file types.h.

References l4_msgtag_t::raw.

unsigned l4_msgtag_items ( l4_msgtag_t  t  )  [inline]

Get the number of items.

Parameters:
t the tag

Definition at line 200 of file types.h.

References l4_msgtag_t::raw.

unsigned l4_msgtag_flags ( l4_msgtag_t  t  )  [inline]

Get the flags.

Parameters:
t the tag

Definition at line 204 of file types.h.

References l4_msgtag_t::raw.

unsigned l4_msgtag_is_irq ( l4_msgtag_t  t  )  [inline]

Was the message an IRQ.

Parameters:
t the tag

Definition at line 208 of file types.h.

References L4_MSGTAG_IRQ, and l4_msgtag_label().

unsigned l4_msgtag_is_page_fault ( l4_msgtag_t  t  )  [inline]

Was the message a page fault.

Parameters:
t the tag

Definition at line 211 of file types.h.

References l4_msgtag_label(), and L4_MSGTAG_PAGE_FAULT.

unsigned l4_msgtag_is_preemption ( l4_msgtag_t  t  )  [inline]

Was the message a preemption IPC.

Parameters:
t the tag

Definition at line 214 of file types.h.

References l4_msgtag_label(), and L4_MSGTAG_PREEMPTION.

unsigned l4_msgtag_is_sys_exception ( l4_msgtag_t  t  )  [inline]

Was the message an system exception.

Parameters:
t the tag

Definition at line 217 of file types.h.

References l4_msgtag_label(), and L4_MSGTAG_SYS_EXCEPTION.

unsigned l4_msgtag_is_exception ( l4_msgtag_t  t  )  [inline]

Was the message an exception.

Parameters:
t the tag

Definition at line 220 of file types.h.

References L4_MSGTAG_EXCEPTION, and l4_msgtag_label().

unsigned l4_msgtag_is_sigma0 ( l4_msgtag_t  t  )  [inline]

Was the message desired for sigma0.

Parameters:
t the tag

Definition at line 223 of file types.h.

References l4_msgtag_label(), and L4_MSGTAG_SIGMA0.

unsigned l4_msgtag_is_io_page_fault ( l4_msgtag_t  t  )  [inline]

Was the message an I/O page fault.

Parameters:
t the tag

Definition at line 226 of file types.h.

References L4_MSGTAG_IO_PAGE_FAULT, and l4_msgtag_label().

unsigned l4_msgtag_is_cap_fault ( l4_msgtag_t  t  )  [inline]

Was the message a cap fault.

Parameters:
t the tag

Definition at line 229 of file types.h.

References L4_MSGTAG_CAP_FAULT, and l4_msgtag_label().


Fiasco/L4 System Call C-Bindings Reference Manual,  © 1996-2008