14#include <l4/sys/cxx/ipc_legacy> 
   15#include <l4/cxx/minmax> 
   35template< 
typename SVR >
 
   52        this_vcon()->vcon_write(
reinterpret_cast<char const *
>(&m->
mr[2]),
 
   62          return l4_msgtag(this_vcon()->vcon_set_attr(attr), 0, 0, 0);
 
   67          return l4_msgtag(this_vcon()->vcon_get_attr(attr), 4, 0, 0);
 
   77    unsigned size = cxx::min<unsigned>(op >> 16, max_size);
 
   87    __builtin_memcpy(&m->
mr[1], buf, bytes);
 
   92  unsigned vcon_read(
char *buf, 
unsigned size) 
noexcept;
 
   93  void vcon_write(
const char *buf, 
unsigned size) 
noexcept;
 
  103  SVR 
const *this_vcon()
 const { 
return static_cast<SVR 
const *
>(
this); }
 
  104  SVR *this_vcon() { 
return static_cast<SVR *
>(
this); }
 
 
Console server template class.
 
C++ L4 Vcon interface, see Virtual Console for the C interface.
 
unsigned long l4_umword_t
Unsigned machine word.
 
@ L4_EINVAL
Invalid argument.
 
unsigned l4_bytes_to_mwords(unsigned size) L4_NOTHROW
Determine how many machine words (l4_umword_t) are required to store a buffer of 'size' bytes.
 
l4_msgtag_t l4_msgtag(long label, unsigned words, unsigned items, unsigned flags) L4_NOTHROW
Create a message tag from the specified values.
 
@ L4_VCON_GET_ATTR_OP
Set console attributes.
 
@ L4_VCON_SET_ATTR_OP
Get console attributes.
 
l4_msg_regs_t * l4_utcb_mr(void) L4_NOTHROW L4_PURE
Get the message-register block of a UTCB.
 
struct l4_utcb_t l4_utcb_t
Opaque type for the UTCB.
 
Common L4 ABI Data Types.
 
Documentation of the L4 Runtime Environment utility functionality in C++.
 
int Opcode
Data type for RPC opcodes.
 
Message tag data structure.
 
unsigned words() const L4_NOTHROW
Get the number of untyped words.
 
Vcon attribute structure.
 
l4_umword_t i_flags
input flags
 
l4_umword_t o_flags
output flags
 
l4_umword_t l_flags
local flags
 
Encapsulation of the message-register block in the UTCB.
 
l4_umword_t mr[L4_UTCB_GENERIC_DATA_SIZE]
Message registers.
 
@ L4_VCON_READ_STAT_DONE
Done condition flag.
 
@ L4_VCON_READ_SIZE_MASK
Size mask.
 
C++ Virtual console interface.