gate_operations.c File Reference

#include "libgate.h"
#include "liblsavl.h"
#include "gate.h"

Defines

#define OK   0
#define NOT_OK   1

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)

Variables

static t_avl_class * class_tree = NULL

Define Documentation

#define NOT_OK   1
 

#define OK   0
 


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:


Variable Documentation

t_avl_class* class_tree = NULL [static]
 


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