Может быть, вы сможете принять некоторые соглашения Unix.
В другой ответ , пользователь David предложил
sysexits.h
содержит список стандартных кодов выхода. Похоже, он датируется как минимум 1993 годом, и некоторые крупные проекты, такие как Postfix, используют его, поэтому я думаю, что это путь.
Со страницы руководства OpenBSD:
В соответствии со стилем (9) не рекомендуется вызывать exit (3) с произвольными значениями, чтобы указать состояние ошибки при завершении программы. Вместо этого следует использовать предопределенные коды выхода из sysexits, чтобы вызывающий процесс мог получить приблизительную оценку класса сбоев без поиска исходного кода.
Это список, который отображается в системе Debian:
#define EX_USAGE 64 /* command line usage error */
#define EX_DATAERR 65 /* data format error */
#define EX_NOINPUT 66 /* cannot open input */
#define EX_NOUSER 67 /* addressee unknown */
#define EX_NOHOST 68 /* host name unknown */
#define EX_UNAVAILABLE 69 /* service unavailable */
#define EX_SOFTWARE 70 /* internal software error */
#define EX_OSERR 71 /* system error (e.g., can't fork) */
#define EX_OSFILE 72 /* critical OS file missing */
#define EX_CANTCREAT 73 /* can't create (user) output file */
#define EX_IOERR 74 /* input/output error */
#define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */
#define EX_PROTOCOL 76 /* remote error in protocol */
#define EX_NOPERM 77 /* permission denied */
#define EX_CONFIG 78 /* configuration error */
Внутри файла /usr/include/sysexits.h
можно найти более подробное описание этих кодов ошибок.