/* inquire_err.h : definitions and a macro for handling inquired errors. Written Jun97, Hamlet of WWC, etc. */ #ifndef _INQUIRE_ERR_H_ #define _INQUIRE_ERR_H_ #include <socket_errors.h> #ifndef INQUIRED #define INQUIRED "/net/inquired" #endif /* First few are internal errors: the code is using inquired incorrectly. */ #define BAD_CALLER -101 #define BAD_HOST -102 #define BAD_SOCKETMODE -103 #define BAD_CALLBACK -104 #define BAD_FASTVALUE -105 #define BAD_PORT -106 /* These are failure to connect to the target host in one way or another. */ #define BAD_ADDRESS -121 #define BAD_RESOLVE -122 #define CONN_REFUSED -123 #define HOST_NOT_RESPOND -124 #define TIMED_OUT -125 /* Admittedly, it's bad form to have code in a .h. But, if this can be done as a macro, it's beyond my skills, and having to inherit or call_other() this function struck me as somewhat awful. So, here it goes. */ string inquire_error(int i) { if( i > -100) return socket_error(i); switch(i) { case BAD_CALLER : return "INTERNAL ERROR: Object is not " "authorized to use inquired."; case BAD_HOST : return "INTERNAL ERROR: A hostname must " "be passed."; case BAD_SOCKETMODE : return "INTERNAL ERROR: The socket mode was " "not valid. Check <socket.h> for " "valid modes."; case BAD_CALLBACK : return "INTERNAL ERROR: A callback function " "must be supplied."; case BAD_FASTVALUE : return "INTERNAL ERROR: If a function " "pointer is supplied, an object " "should not be specified."; case BAD_PORT : return "INTERNAL ERROR: Port is invalid."; case BAD_ADDRESS : return "Address could not be converted to " "numeric IP."; case BAD_RESOLVE : return "resolve() is malfunctioning. " "addr_server is probably down. Use " "numeric address."; case CONN_REFUSED : return "Connection refused."; case HOST_NOT_RESPOND : return "The host did not respond."; case TIMED_OUT : return "Host did not respond within " "timeout period."; default : return "INTERNAL ERROR: An unknown error " "occurred."; } } #endif /* _INQUIRE_ERR_H_ */