/* * File: error.h * Author: Arthur Brandao * * Created on 8 novembre 2018 */ #ifndef ERROR_H #define ERROR_H #include /* --- Macro --- */ #define serror(str) fprintf(stderr, str" : %s\n", serrlib[serrno]) #define strserror(index) serrlib[index] #define adderror(str) fprintf(stderr, "Erreur dans le fichier "__FILE__" ligne %d, "str"\n", __LINE__) #define addperror(str) fprintf(stderr, "Erreur dans le fichier "__FILE__" ligne %d, ", __LINE__); perror(str" ") #define addserror(str) fprintf(stderr, "Erreur dans le fichier "__FILE__" ligne %d, "str" : %s\n", __LINE__, strserror(serrno)) /* --- Constantes Generales --- */ #define ERR -1 #define FAIL 0 #define SUCCESS 1 /* --- Constantes Erreurs --- */ #define SEBADEND 1 #define SEBADET 2 #define SEOPENF 3 #define SEREDIRTYPE 4 #define SEBADREDIR 5 #define SEBADCMD 6 #define SEWC 7 #define SEADDWC 8 /* --- Extern --- */ extern int errno; extern int serrno; //Shell Errno extern char* serrlib[]; /* --- Fonctions --- */ /** * Change un fd par la valeur d'un autre fd * @param int fd accueil * @param int fd source * @return int Le nouveau fd du fichier qui avait le fd d'accueil */ int redirect_fd(int, int); #endif /* ERROR_H */