Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

L4_timeout Class Reference

L4 timeouts data type. More...

#include <l4_types.h>

List of all members.

Public Types

enum  { Never = 0 }
 Typical timout constants. More...

Public Member Functions

 L4_timeout (Mword snd_man, Mword snd_exp, Mword rcv_man, Mword rcv_exp, Mword snd_pflt, Mword rcv_pflt)
 Create the specified timeout.
Mword rcv_pfault () const
 Get the receive page fault timeout.
void rcv_pfault (Mword pr)
 Set the receive page fault timeout.
Mword snd_pfault () const
 Get the send page fault timeout.
void snd_pfault (Mword ps)
 Set the send page fault timeout.
 L4_timeout (Mword t=0)
 Create a timeout from it's binary representation.
Mword raw ()
 Get the binary representation of the timeout.
Mword rcv_exp () const
 Get the receive exponent.
void rcv_exp (Mword er)
 Set the exponent of the receive timeout.
Mword rcv_man () const
 Get the receive timout's mantissa.
void rcv_man (Mword mr)
 Set the mantissa of the receive timeout.
Mword snd_exp () const
 Get tge send timeout exponent.
void snd_exp (Mword es)
 Set the exponent of the send timeout.
Mword snd_man () const
 Get the send timout's mantissa.
void snd_man (Mword ms)
 Set the mantissa of the send timeout.
Unsigned64 rcv_microsecs_rel (Unsigned64 clock) const
 Get the relative receive timeout in microseconds.
Unsigned64 snd_microsecs_rel (Unsigned64 clock) const
 Get the relative send timeout in microseconds.
Unsigned64 rcv_microsecs_abs (Unsigned64 clock, bool c) const
 Get the absolute receive timeout in microseconds.
Unsigned64 snd_microsecs_abs (Unsigned64 clock, bool c) const
 Get the absolute send timeout in microseconds.

Private Types

enum  {
  Rcv_exp_mask = 0xf, Rcv_exp_shift = 0, Snd_exp_mask = 0xf0, Snd_exp_shift = 4,
  Rcv_pfault_mask = 0xf00, Rcv_pfault_shift = 8, Snd_pfault_mask = 0xf000, Snd_pfault_shift = 12,
  Snd_man_mask = 0xff0000, Snd_man_shift = 16, Rcv_man_mask = 0xff000000, Rcv_man_shift = 24
}

Private Attributes

Mword _t


Detailed Description

L4 timeouts data type.


Member Enumeration Documentation

anonymous enum
 

Typical timout constants.

Enumeration values:
Never  Never time out.

anonymous enum [private]
 

Enumeration values:
Rcv_exp_mask 
Rcv_exp_shift 
Snd_exp_mask 
Snd_exp_shift 
Rcv_pfault_mask 
Rcv_pfault_shift 
Snd_pfault_mask 
Snd_pfault_shift 
Snd_man_mask 
Snd_man_shift 
Rcv_man_mask 
Rcv_man_shift 


Constructor & Destructor Documentation

L4_timeout::L4_timeout Mword  snd_man,
Mword  snd_exp,
Mword  rcv_man,
Mword  rcv_exp,
Mword  snd_pflt,
Mword  rcv_pflt
[inline]
 

Create the specified timeout.

Parameters:
snd_man mantissa of the send timeout.
snd_exp exponent of the send timeout (snd_exp=0: infinite timeout, snd_exp>0: t=4^(15-snd_exp)*snd_man, snd_man=0 & snd_exp!=0: t=0).
rcv_man mantissa of the receive timeout.
rcv_exp exponent of the receive timeout (see snd_exp).
snd_pflt send page fault timeout (snd_pflt=0: infinite timeout, 0<snd_pflt<15: t=4^(15-snd_pflt), snd_pflt=15: t=0).
rcv_pflt receive page fault timeout (see snd_pflt).

L4_timeout::L4_timeout Mword  t = 0  )  [inline, explicit]
 

Create a timeout from it's binary representation.

Parameters:
t the binary timeout value.


Member Function Documentation

Mword L4_timeout::raw  )  [inline]
 

Get the binary representation of the timeout.

Returns:
The timeout as binary representation.

void L4_timeout::rcv_exp Mword  er  )  [inline]
 

Set the exponent of the receive timeout.

Parameters:
er the exponent for the receive timeout (see L4_timeout()).
See also:
rcv_man()

Mword L4_timeout::rcv_exp  )  const [inline]
 

Get the receive exponent.

Returns:
The exponent of the receive timeout.
See also:
rcv_man()

void L4_timeout::rcv_man Mword  mr  )  [inline]
 

Set the mantissa of the receive timeout.

Parameters:
mr the mantissa of the recieve timeout (see L4_timeout()).
See also:
rcv_exp()

Mword L4_timeout::rcv_man  )  const [inline]
 

Get the receive timout's mantissa.

Returns:
The mantissa of the receive timeout (see L4_timeout()).
See also:
rcv_exp()

Unsigned64 L4_timeout::rcv_microsecs_abs Unsigned64  clock,
bool  c
const [inline]
 

Get the absolute receive timeout in microseconds.

Parameters:
clock Current value of kernel clock
Returns:
The receive timeout in micro seconds.

Unsigned64 L4_timeout::rcv_microsecs_rel Unsigned64  clock  )  const [inline]
 

Get the relative receive timeout in microseconds.

Parameters:
clock Current value of kernel clock
Returns:
The receive timeout in micro seconds.

void L4_timeout::rcv_pfault Mword  pr  )  [inline]
 

Set the receive page fault timeout.

Parameters:
pr the exponent of the receive page fault timeout (see L4_timeout()).

Mword L4_timeout::rcv_pfault  )  const [inline]
 

Get the receive page fault timeout.

Returns:
The exponent of the receive page fault timeout (see L4_timeout()).

void L4_timeout::snd_exp Mword  es  )  [inline]
 

Set the exponent of the send timeout.

Parameters:
es the exponent of the send timeout (see L4_timeout()).
See also:
snd_man()

Mword L4_timeout::snd_exp  )  const [inline]
 

Get tge send timeout exponent.

Returns:
The exponent of the send timout (see L4_timeout()).
See also:
snd_man()

void L4_timeout::snd_man Mword  ms  )  [inline]
 

Set the mantissa of the send timeout.

Parameters:
ms the mantissa of the send timeout (see L4_timeout()).
See also:
snd_exp()

Mword L4_timeout::snd_man  )  const [inline]
 

Get the send timout's mantissa.

Returns:
The mantissa of the send timeout (see L4_timeout()).
See also:
snd_exp()

Unsigned64 L4_timeout::snd_microsecs_abs Unsigned64  clock,
bool  c
const [inline]
 

Get the absolute send timeout in microseconds.

Parameters:
clock Current value of kernel clock
Returns:
The send timeout in micro seconds.

Unsigned64 L4_timeout::snd_microsecs_rel Unsigned64  clock  )  const [inline]
 

Get the relative send timeout in microseconds.

Parameters:
clock Current value of kernel clock
Returns:
The send timeout in micro seconds.

void L4_timeout::snd_pfault Mword  ps  )  [inline]
 

Set the send page fault timeout.

Parameters:
ps the exponent of the send page fault timeout (see L4_timeout()).

Mword L4_timeout::snd_pfault  )  const [inline]
 

Get the send page fault timeout.

Returns:
The exponent of the send page fault timeout (see L4_timeout()).


Member Data Documentation

Mword L4_timeout::_t [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Sep 26 14:20:16 2005 for Fiasco by  doxygen 1.4.2