gate.h File Reference

#include <libc.h>
#include "liblsavl.h"
#include "libgate.h"
#include "gates.h"

Go to the source code of this file.

Functions

int gate_register (t_tcb *caller)
int gate_unregister (t_tcb *caller)
int gate_get_first (t_tcb *caller)
int gate_get_next (t_tcb *caller)
int gate_use (t_tcb *caller)
int gate_unuse (t_tcb *caller)


Function Documentation

int gate_get_first t_tcb caller  ) 
 

Gets the first occurence of a gate.

Parameters:
caller The tcb of the calling process.
Returns:

int gate_get_next t_tcb caller  ) 
 

XXX For now we need to use the int class to know the class, but this should be changed so that we use only the gate info.

Gets the next occurence of a gate.

Parameters:
caller The tcb of the calling process.
Returns:
OK if the gate_infos structure of the caller was correctly updated, ENOGATE if this was already the last gate (or if the number of under gate was totally wrong), or ECOPY if the copy failed.

int gate_register t_tcb caller  ) 
 

Registers a gate in the gate service, creating new classes if it has to.

Parameters:
caller The process calling the gate (which is actually a gate) who wishes to register itself. This is not a pid_t, but a t_tcb, a structure that describes a process. XXX : Where is it declared ?
Returns:
0 if all happened smoothly. Otherwise, well... other values that ain't zero :)

int gate_unregister t_tcb caller  ) 
 

Unregisters a gate from the class tree. This is the method called when a gate decides to unregister itself.

Parameters:
caller the tcb of the gate willing to unregister itself.
Returns:
OK if all went smoothly.

int gate_unuse t_tcb caller  ) 
 

This is where a process tells the gate manager that it has finished to use the gate.

Parameters:
caller 
Returns:

int gate_use t_tcb caller  ) 
 

This function is used to tell the gate service that a process wishes to use a given gate now it has found it.

Parameters:
caller The tcb of the process wishing to use the gate.
Returns:


Generated on Wed May 24 23:06:01 2006 for LSE/OS by  doxygen 1.4.6