constante.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * File: constante.h
  3. * Author: Arthur Brandao
  4. *
  5. * Created on 31 octobre 2018
  6. */
  7. #ifndef CONSTANTE_H
  8. #define CONSTANTE_H
  9. /* --- General --- */
  10. #define BUFFER_SIZE 512
  11. #define SHELL_ERR -1
  12. #define SHELL_FAIL 0
  13. #define SHELL_OK 1
  14. /* --- Fichier --- */
  15. #define STDIN 0
  16. #define STDOUT 1
  17. #define STDERR 2
  18. /* --- Tube --- */
  19. #define TUBE_LECTURE 0
  20. #define TUBE_ECRITURE 1
  21. /* --- Separateur commande --- */
  22. #define SHELL_END 0 //Aucune autre commande après
  23. #define SHELL_NONE 1 //Aucun lien entre les 2 commandes
  24. #define SHELL_IF 2 //La commande suivante s'execute si l'actuel reussis
  25. #define SHELL_ELSE 3 //La commande suivante s'execute si l'actuel échou
  26. #define SHELL_PIPE 4 //Envoi des données de sorties vers la commande suivante
  27. /* --- Redirection (Shell Redirect [Erase]) --- */
  28. #define SHELLR_IN 0 // <
  29. #define SHELLR_OUT 1 // >>
  30. #define SHELLRE_OUT 2 // >
  31. #define SHELLR_ERR 3 // 2>>
  32. #define SHELLRE_ERR 4 // 2>
  33. #define SHELLR_ALL 5 // >>&
  34. #define SHELLRE_ALL 6 // >&
  35. /* --- IPC --- */
  36. #define IPCKEYPATH "/bin/ls"
  37. #define SEMCODE 8426
  38. #define SHMCODEMEM 8520 //Code shm zone des variables
  39. #define SHMCODEGEST 8521 //Code shm du gestionnaire de la zone des variables
  40. #define SHMCODEGLOB 8522 //Code shm des varaibles globales entre tous les processus mysh
  41. /* --- Boolean --- */
  42. #define boolean int
  43. #define true 1
  44. #define false 0
  45. /* --- Null --- */
  46. #define null NULL
  47. #endif /* CONSTANTE_H */