constante.h 1.5 KB

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