Stream class for the create() argument stream.
More...
#include <factory>
|
| S (S &&o) noexcept |
| Move ...
|
|
| S (l4_cap_idx_t f, long obj, L4::Cap< void > target, l4_utcb_t *utcb) noexcept |
| Create a stream for a specific create() call.
|
|
| ~S () noexcept |
| Commit the operation in the destructor to have a cool syntax for create().
|
|
| operator l4_msgtag_t () noexcept |
| Explicitly commits the operation and returns the result.
|
|
void | put (l4_mword_t i) noexcept |
| Put a single l4_mword_t as next argument.
|
|
void | put (l4_umword_t i) noexcept |
| Put a single l4_umword_t as next argument.
|
|
void | put (char const *s) &noexcept |
| Add a zero-terminated string as next argument.
|
|
void | put (Lstr const &s) &noexcept |
| Add a pascal string as next argument.
|
|
void | put (Nil) &noexcept |
| Add an empty argument.
|
|
void | put (l4_fpage_t d) &noexcept |
| Add a flex page as next argument.
|
|
Stream class for the create() argument stream.
This stream allows a variable number of arguments to be added to a create() call.
Definition at line 89 of file factory.
◆ S() [1/2]
L4::Factory::S::S |
( |
S && |
o | ) |
|
|
inlinenoexcept |
◆ S() [2/2]
Create a stream for a specific create() call.
- Parameters
-
| f | The capability for the factory object (L4::Factory). |
| obj | The protocol ID to describe the type of the object that shall be created. |
[out] | target | The capability selector for the new object. The caller must allocate the capability slot. The kernel stores the new object's capability into this slot. |
| utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. See l4_utcb. |
Definition at line 132 of file factory.
◆ operator l4_msgtag_t()
Explicitly commits the operation and returns the result.
- Returns
- The result of the create() operation.
- Return values
-
L4_EOK | No error occurred. |
-L4_EPERM | The factory instance requires L4_CAP_FPAGE_S rights on the invoked capability and L4_CAP_FPAGE_S is not present. |
<0 | Error code. |
Definition at line 158 of file factory.
References l4_msgtag_t::raw.
◆ put() [1/5]
void L4::Factory::S::put |
( |
char const * |
s | ) |
& |
|
inlinenoexcept |
Add a zero-terminated string as next argument.
- Parameters
-
s | The string to add as next argument. |
The string will be added with the zero-terminator.
Definition at line 192 of file factory.
◆ put() [2/5]
Add a flex page as next argument.
- Parameters
-
d | The flex page to add (there will be no map operation). |
Definition at line 224 of file factory.
◆ put() [3/5]
Put a single l4_mword_t as next argument.
- Parameters
-
i | The value to add as next argument. |
Definition at line 170 of file factory.
◆ put() [4/5]
Put a single l4_umword_t as next argument.
- Parameters
-
i | The value to add as next argument. |
Definition at line 180 of file factory.
◆ put() [5/5]
void L4::Factory::S::put |
( |
Lstr const & |
s | ) |
& |
|
inlinenoexcept |
Add a pascal string as next argument.
- Parameters
-
s | The string to add as next argument. |
The string will be added with the exact length given. It is the responsibility of the caller to make sure that the string is zero- terminated when that is required by the server.
Definition at line 206 of file factory.
The documentation for this class was generated from the following file: