1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*
- * File: ipc.h
- * Author: Arthur Brandao
- *
- * Created on 21 décembre 2018
- */
- #ifndef IPC_H
- #define IPC_H
- /* --- Include --- */
- #include "constante.h"
- #include "sem.h"
- #include "shm.h"
- #include "subdiv.h"
- /* --- Constantes --- */
- #define SEMMUTEX 0 //Mutex d'accès aux variables globales
- #define SEMECRIRE 1 //Sem pour indiquer qu'un processus veut ecrire
- #define SEMWAIT 2 //Sem pour faire attendre l'ecrivain
- /* --- Structure --- */
- typedef struct{
- shared_mem memoire;
- shared_mem gestionnaire;
- shared_mem global;
- semaphore sem;
- }ipc_mysh;
- /* --- Extern --- */
- extern ipc_mysh ipc;
- /* --- Fonctions --- */
- /**
- * Création/Récupération SHM et SEM
- * @param char** Envp pour la création
- * @return Réussite
- */
- boolean setup_ipc(char**);
- /**
- * Destruction des SHM et SEM
- * @return Reussite
- */
- boolean end_ipc();
- /**
- * Remplace les variables d'une chaine par leurs valeurs
- * @param char* La chaine à analyser
- * @return La chaine avec les variables remplacées par leur valeurs
- */
- char* parse_shm_var(char*);
- /**
- * Ajoute une données dans le segment de mémoire
- * @param char* Les données à ajouter
- * @return Reussite
- */
- boolean add_shm_data(char*);
- /**
- * Supprime une donnée dans le segment de mémoire
- * @param char* La clef
- * @return Reussite
- */
- boolean remove_shm_data(char*);
- /**
- * Affiche les variables dans la mémoire
- */
- void show_shm_data();
- #endif /* IPC_H */
|