libomega0.a - Omega0 client API library
Functions to communicate with the Omega0 server.
More...
|
Data Structures |
struct | omega0_irqdesc_struct_t |
| Omega0 IRQ descriptor, bitfields. More...
|
union | omega0_irqdesc_t |
| Omega0 IRQ descriptor. More...
|
struct | omega0_request_struct_t |
| Omega0 request type, bitfields. More...
|
union | omega0_request_t |
| Omega0 request type. More...
|
Typedefs |
typedef L4_CV void(* | omega0_alien_handler_t )(l4_threadid_t alien, l4_umword_t d0, l4_umword_t d1) |
| Omega0 alien handler type.
|
Functions |
L4_CV int | omega0_attach (omega0_irqdesc_t desc) |
| Attach to an irq line.
|
L4_CV int | omega0_detach (omega0_irqdesc_t desc) |
| Detach from an irq line.
|
L4_CV int | omega0_pass (omega0_irqdesc_t desc, l4_threadid_t new_driver) |
| Pass the right to attach to an IRQ line to another thread.
|
L4_CV int | omega0_request (int handle, omega0_request_t action) |
| Request for certain actions.
|
L4_CV int | omega0_request_timeout (int handle, omega0_request_t action, l4_timeout_t timeout) |
| Request for certain actions with timeout.
|
L4_CV int | omega0_first (void) |
| Iterator: return the first available irq line.
|
L4_CV omega0_alien_handler_t | omega0_set_alien_handler (omega0_alien_handler_t handler) |
| Set an alien IPC handler
If a request (omega0_request()) with a set waiting-flag is not answered by the omega0 server but by someone else (the alien), a callback may be called. Therefore, first register the handler using this function and call omega0_request() then. The alien IPC must be a short IPC without any mappings. The alien handler receives the alien thread id and the 2 (two) dwords.
|
Detailed Description
Functions to communicate with the Omega0 server.
The function-prototypes can be found in <l4/omega0/client.h>.
Typedef Documentation
Omega0 alien handler type.
Definition at line 62 of file client.h.
Function Documentation
Attach to an irq line.
- Parameters:
-
| desc | IRQ descriptor |
| desc.s.i_num | IRQ line |
| desc.s.shared | 1 if the client is willing to share the IRQ |
- Return values:
-
| >=0 | success: handle |
| <0 | error |
Definition at line 31 of file emul.c.
Detach from an irq line.
- Parameters:
-
- Return values:
-
Definition at line 58 of file emul.c.
L4_CV int omega0_first |
( |
void |
|
) |
|
Iterator: return the first available irq line.
- Return values:
-
| 0 | no irq lines are available |
| >0 | first existing irq line. |
Definition at line 9 of file list.c.
Pass the right to attach to an IRQ line to another thread.
- Parameters:
-
| desc | IRQ descriptor, .s.i_num: irq line |
| new_driver | new thread |
- Return values:
-
Definition at line 7 of file pass.c.
Request for certain actions.
- Parameters:
-
| handle | handle returned from omega0_attach() |
| action | combination of bits indicating the indicated actions. the meaning of action.param depends on the actions. |
- Return values:
-
| 0 | success |
| <0 | error |
| >0 | If the wait option was set, indicates the irq line. |
Definition at line 62 of file emul.c.
L4_CV int omega0_request_timeout |
( |
int |
handle, |
|
|
omega0_request_t |
action, |
|
|
l4_timeout_t |
timeout | |
|
) |
| | |
Request for certain actions with timeout.
- Parameters:
-
| handle | handle returned from omega0_attach() |
| action | combination of bits indicating the indicated actions. the meaning of action.param depends on the actions. |
| timeout | L4 timeout |
- Return values:
-
| 0 | success |
| <0 | error |
| >0 | If the wait option was set, indicates the irq line. |
Definition at line 11 of file timeout.c.
Set an alien IPC handler
If a request (omega0_request()) with a set waiting-flag is not answered by the omega0 server but by someone else (the alien), a callback may be called. Therefore, first register the handler using this function and call omega0_request() then. The alien IPC must be a short IPC without any mappings. The alien handler receives the alien thread id and the 2 (two) dwords.
Definition at line 33 of file request.c.