shm.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * File: shm.h
  3. * Author: Arthur Brandao
  4. *
  5. * Created on 21 décembre 2018
  6. */
  7. #ifndef SHM_H
  8. #define SHM_H
  9. /* --- Include --- */
  10. #include <sys/types.h>
  11. #include <sys/ipc.h>
  12. #include <sys/shm.h>
  13. #include "constante.h"
  14. /* --- Structure --- */
  15. typedef struct{
  16. //Id de shmget
  17. int id;
  18. //Clef d'accés à la shm
  19. key_t key;
  20. //Taille de la zone mémoire
  21. int size;
  22. //Pointeur vers la zone mémoire
  23. void* adr;
  24. }shared_mem;
  25. /* --- Fonctions --- */
  26. /**
  27. * Création d'un segment de mémoire partagée
  28. * @param shared_mem* La mémoire partagée
  29. * @param int La clef
  30. * @param int La taille de la zone
  31. * @return boolean Reussite
  32. */
  33. boolean create_shm(shared_mem*, int, int);
  34. /**
  35. * Création d'un segment de mémoire partagée
  36. * @param shared_mem* La mémoire partagée
  37. * @param int La clef
  38. * @param int La taille de la zone
  39. * @return boolean Reussite
  40. */
  41. boolean get_shm(shared_mem*, int, int);
  42. /**
  43. * Retire le segment de mémoire partagée
  44. * @param shared_mem* La mémoire partagée
  45. * @return boolean Reussite
  46. */
  47. boolean unset_shm(shared_mem*);
  48. /**
  49. * Supprime le segment de memoire partagée
  50. * @param shared_mem* La mémoire partagée
  51. * @return boolean Reussite
  52. */
  53. boolean delete_shm(shared_mem*);
  54. #endif /* SHM_H */