server.c File Reference

IPC server implementation. More...

#include <l4/sys/types.h>
#include <l4/sys/ipc.h>
#include <l4/sys/kdebug.h>
#include <l4/omega0/client.h>
#include <l4/util/util.h>
#include <l4/util/l4_macros.h>
#include <l4/log/l4log.h>
#include <stdlib.h>
#include <omega0_proto.h>
#include "globals.h"
#include "server.h"
#include "irq_threads.h"

Go to the source code of this file.

Functions

static int attach (l4_threadid_t client, omega0_irqdesc_t desc)
 Attach the client to the given irq.
static int detach (l4_threadid_t client, int irq, int cmp_task)
static int detach_all (int task)
static int pass (l4_threadid_t client, omega0_irqdesc_t desc, l4_threadid_t new_client)
static int first (void)
static int next (int irq)
void server (void)
 The server itself.


Detailed Description

IPC server implementation.

IPC server.

Date:
2007-04-27
Author:
Jork Loeser <jork.loeser@inf.tu-dresden.de>

Christian Helmuth <ch12@os.inf.tu-dresden.de>

Definition in file server.c.


Function Documentation

static int attach ( l4_threadid_t  client,
omega0_irqdesc_t  desc 
) [static]

Attach the client to the given irq.

Currently, only one irq per client possible.

Return values:
0 - success
<0 - error,
>0 - lthread

Definition at line 37 of file server.c.

static int detach ( l4_threadid_t  client,
int  irq,
int  cmp_task 
) [static]

detach from a given irq.

Definition at line 103 of file server.c.

static int detach_all ( int  task  )  [static]

detach from a given client.

Definition at line 142 of file server.c.

static int first ( void   )  [static]

Iterator: First handle

Definition at line 170 of file server.c.

static int next ( int  irq  )  [static]

Iterator: Next handle

Definition at line 183 of file server.c.

static int pass ( l4_threadid_t  client,
omega0_irqdesc_t  desc,
l4_threadid_t  new_client 
) [static]

Pass IRQ to other thread.

Bug:
It may happen that the detach is successful, but not so the attach. at the result, the irq is free (!!!!)

Definition at line 160 of file server.c.

void server ( void   ) 

The server itself.

All initialization stuff like creating the receive- threads which are attached to their irqs is already done.

Definition at line 196 of file server.c.


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