text: #ifndef H_DRAGONFAIL_ERROR
  #define H_DRAGONFAIL_ERROR
  
  enum dgn_error
  {
  	DGN_OK, // do not remove
  
  	SSHRAM_ERR_ARG_NAME,
  	SSHRAM_ERR_ARG_DECODED,
  	SSHRAM_ERR_ARG_DECODED_OPEN,
  	SSHRAM_ERR_ARG_ENCODED,
  	SSHRAM_ERR_ARG_ENCODED_OPEN,
  
  	SSHRAM_ERR_RNG,
  	SSHRAM_ERR_ARGON2,
  
  	SSHRAM_ERR_MALLOC,
  	SSHRAM_ERR_MLOCK,
  
  	SSHRAM_ERR_ENV,
  	SSHRAM_ERR_FGETS,
  	SSHRAM_ERR_FSEEK,
  	SSHRAM_ERR_FTELL,
  	SSHRAM_ERR_FREAD,
  	SSHRAM_ERR_FWRITE,
  	SSHRAM_ERR_TERMIOS,
  
  	SSHRAM_ERR_ENC_PASS_LEN,
  	SSHRAM_ERR_ENC_PASS_MATCH,
  
  	SSHRAM_ERR_DEC_CHACHAPOLY,
  	SSHRAM_ERR_DEC_PATH_LEN,
  	SSHRAM_ERR_DEC_PASUNEPIPE,
  	SSHRAM_ERR_DEC_MKFIFO,
  	SSHRAM_ERR_DEC_PIPE_FOPEN,
  	SSHRAM_ERR_DEC_PIPE_FWRITE,
  	SSHRAM_ERR_DEC_PIPE_FCLOSE,
  	SSHRAM_ERR_DEC_PIPE_UNLINK,
  	SSHRAM_ERR_DEC_INOTIFY_INIT,
  	SSHRAM_ERR_DEC_INOTIFY_ADD_WATCH,
  	SSHRAM_ERR_DEC_INOTIFY_READ,
  	SSHRAM_ERR_DEC_INOTIFY_READ_INT,
  	SSHRAM_ERR_DEC_SIGACTION,
  
  	DGN_SIZE, // do not remove
  };
  
  //#define DRAGONFAIL_SKIP
  #define DRAGONFAIL_BASIC_LOG
  #define DRAGONFAIL_THROW_BASIC_LOG
  #define DRAGONFAIL_THROW_DEBUG_LOG
  //#define DRAGONFAIL_ABORT
  
  #endif
  