client.h File Reference

Omega0 client interface. More...

#include <l4/sys/types.h>

Go to the source code of this file.

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...

Defines

#define OMEGA0_WAIT
#define OMEGA0_CONSUME
#define OMEGA0_MASK
#define OMEGA0_UNMASK
#define OMEGA0_RQ(action, param)   ((omega0_request_t){i:(param)|(action)})

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 int omega0_next (int irq_num)
 Iterator: return next 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.


Variables

omega0_alien_handler_t omega0_alien_handler


Detailed Description

Omega0 client interface.

Date:
2000/02/08
Author:
Jork Loeser <jork.loeser@inf.tu-dresden.de>

Definition in file client.h.


Define Documentation

#define OMEGA0_CONSUME

Value:

(((omega0_request_t){s:                 \
                             (omega0_request_struct_t){consume:1}}).i)

Definition at line 69 of file client.h.

#define OMEGA0_MASK

Value:

(((omega0_request_t){s:                 \
                             (omega0_request_struct_t){mask:1}}).i)

Definition at line 71 of file client.h.

#define OMEGA0_RQ ( action,
param   )     ((omega0_request_t){i:(param)|(action)})

Definition at line 76 of file client.h.

#define OMEGA0_UNMASK

Value:

(((omega0_request_t){s:                 \
                             (omega0_request_struct_t){unmask:1}}).i)

Definition at line 73 of file client.h.

#define OMEGA0_WAIT

Value:

(((omega0_request_t){s:                 \
                             (omega0_request_struct_t){wait:1}}).i)

Definition at line 67 of file client.h.


Function Documentation

L4_CV int omega0_next ( int  irq_num  ) 

Iterator: return next available irq line.

Parameters:
irq_num return value of omega0_first() or a omega0_next()
Return values:
0 no more lines are available
>0 next existing irq line.

Definition at line 15 of file list.c.


Variable Documentation

Definition at line 8 of file request.c.


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