Page principale   Liste par ordre alphabétique   Liste des composants   Liste des fichiers   Composants   Déclarations  

systeme.h

Aller à la documentation de ce fichier.
00001 /**
00002  * @file systeme.h
00003  * @brief Entete de systeme.c
00004  */
00005 
00006 #ifndef SYSTEME_H
00007 #define SYSTEME_H
00008 
00009 #include "interpreteur.h"
00010 #include "fifo.h"
00011 #include "commandes.h"
00012 
00013 
00014 /**************************************************************************************
00015  Fait par Martin Ludovic
00016 **************************************************************************************/
00017 
00018  /// Initialise la memoire principale
00019 void init_mem ();
00020 
00021 /// Initialise la memoire secondaire (swap)
00022 int init_swap ();
00023 
00024 /// Lancement d'un programme
00025 int lancer_prog (char* fic, int pid);
00026 
00027 
00028 
00029 /**************************************************************************************
00030  Fait par Ouachani Mourad
00031 **************************************************************************************/
00032 
00033 /// Handler interceptant SIGUSR1
00034 void top_horloge_handler (int sig);
00035 
00036 /// Handler interceptant SIGUSR2
00037 void interface_handler (int sig);
00038 
00039 /*************************************************
00040  Liste des commandes
00041 **************************************************/
00042 
00043 #define LP 1
00044 #define STDIN 2
00045 #define QUANTUM 3
00046 #define CADANCE 4
00047 #define HORLOGE 5
00048 #define LPT 6
00049 #define PPP 7
00050 #define PSIG 8
00051 #define SIG 9
00052 #define FIFO_NAME "fifo.f"
00053 
00054 /**************************************************
00055  Structures pour les messages
00056 ***************************************************/
00057 
00058 /// Structure representant un message a lire ou a ecrire ds le tube
00059 typedef struct message {
00060   int commande; ///<la commande a executer
00061   char ref[12]; ///<la reference en argument 
00062   int int_opt;  ///< argument optionnel
00063   int int_opt2; ///<argument optionnel (generalement pour les signaux)
00064 } message; 
00065 
00066 pid_t pid;
00067 int fifo;
00068 
00069 ///Lis dans le tube
00070 int lire_tube();
00071 
00072 ///Ecris dans le tube
00073 int ecrit_tube(struct message mes);
00074 
00075 /// Ecrit une chaine de caractére dans le tampon d'entree dun processus
00076 int modif_process(int num_proc, char *ref);
00077 
00078 /// Affiche tous les processus et leur etats
00079 int liste_process();
00080 
00081 ///Affiche le contenue de la table des processus
00082 int printtp(pid_t pid);
00083 
00084 /// Ecrire le contenue d'une page physique dans un fichier 
00085 int printpp(int num_pp);
00086 
00087 /// Afficher les signaux 
00088 int  printsig(int num_sig);
00089 
00090 /// Envoyer un signal a un processus 
00091 int signal_proc(int num_sign,int num_proces);
00092 
00093 ///Interprete une commande lus dans le tube 
00094 int  interprete_commande(message mes);
00095 
00096 #endif

Généré le Sun Sep 29 22:47:22 2002 pour KSInu par doxygen1.2.16