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

typedef L4_CV void(* omega0_alien_handler_t)(l4_threadid_t alien, l4_umword_t d0, l4_umword_t d1)

Omega0 alien handler type.

Definition at line 62 of file client.h.


Function Documentation

L4_CV int omega0_attach ( omega0_irqdesc_t  desc  ) 

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.

L4_CV int omega0_detach ( omega0_irqdesc_t  desc  ) 

Detach from an irq line.

Parameters:
desc IRQ descriptor
Return values:
0 success
<0 error

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.

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.

Parameters:
desc IRQ descriptor, .s.i_num: irq line
new_driver new thread
Return values:
0 success
<0 error

Definition at line 7 of file pass.c.

L4_CV int omega0_request ( int  handle,
omega0_request_t  action 
)

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.

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.

Definition at line 33 of file request.c.


Generated on Wed Apr 11 06:38:07 2012 for Omega0 DROPS Interrupt Service by  doxygen 1.5.6