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