fd: Improve error handling of write_nonblock().
[paraslash.git] / error.h
diff --git a/error.h b/error.h
index 1e4bf044fe98d49490604b352517afbcba6f2ab8..63d4d5db9b6690dacd49505dda27504120309fe7 100644 (file)
--- a/error.h
+++ b/error.h
@@ -1,12 +1,12 @@
 /*
- * Copyright (C) 2006-2011 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2012 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
 
 /** \file error.h List of error messages for all subsystems. */
 
-/** \cond */
+/** \cond errors */
 
 /* List of all subsystems that use paraslash's error facility. */
 DEFINE_ERRLIST_OBJECT_ENUM;
@@ -38,6 +38,24 @@ DEFINE_ERRLIST_OBJECT_ENUM;
 
 extern const char **para_errlist[];
 
+#define FLACDEC_FILTER_ERRORS \
+       PARA_ERROR(FLACDEC_DECODER_ALLOC, "could not allocate stream decoder"), \
+       PARA_ERROR(FLACDEC_DECODER_INIT, "could not init stream decoder"), \
+       PARA_ERROR(FLACDEC_EOF, "flacdec encountered end of file condition"), \
+
+
+#define FLAC_AFH_ERRORS \
+       PARA_ERROR(FLAC_CHAIN_ALLOC, "could not create metadata chain"), \
+       PARA_ERROR(FLAC_CHAIN_READ, "could not read meta chain"), \
+       PARA_ERROR(FLAC_ITER_ALLOC, "could not allocate meta iterator"), \
+       PARA_ERROR(FLAC_VARBLOCK, "variable blocksize not supported"), \
+       PARA_ERROR(FLAC_AFH_DECODER_ALLOC, "could not allocate stream decoder"), \
+       PARA_ERROR(FLAC_AFH_DECODER_INIT, "could not init stream decoder"), \
+       PARA_ERROR(FLAC_SKIP_META, "could not skip metadata"), \
+       PARA_ERROR(FLAC_DECODE_POS, "could not get decode position"), \
+       PARA_ERROR(FLAC_STREAMINFO, "could not read stream info meta block"), \
+
+
 #define OGG_AFH_COMMON_ERRORS \
        PARA_ERROR(STREAM_PACKETOUT, "ogg stream packet-out error (first packet)"), \
        PARA_ERROR(SYNC_PAGEOUT, "ogg sync page-out error (no ogg file?)"), \
@@ -230,6 +248,7 @@ extern const char **para_errlist[];
 
 #define AUDIOC_ERRORS \
        PARA_ERROR(AUDIOC_SYNTAX, "audioc syntax error"), \
+       PARA_ERROR(AUDIOC_EOF, "audioc: end of file"), \
 
 
 #define CLIENT_COMMON_ERRORS \
@@ -318,6 +337,7 @@ extern const char **para_errlist[];
        PARA_ERROR(MAD_FRAME_DECODE, "mad frame decode error"), \
        PARA_ERROR(MP3DEC_SYNTAX, "syntax error in mp3dec config"), \
        PARA_ERROR(MP3DEC_EOF, "mp3dec: end of file"), \
+       PARA_ERROR(MP3DEC_CORRUPT, "too many corrupt frames"), \
 
 
 #define FILTER_ERRORS \
@@ -424,24 +444,10 @@ extern const char **para_errlist[];
 
 
 #define ALSA_WRITE_ERRORS \
-       PARA_ERROR(BROKEN_CONF, "Broken alsa configuration"), \
-       PARA_ERROR(ACCESS_TYPE, "alsa access type not available"), \
-       PARA_ERROR(SAMPLE_FORMAT, "sample format not available"), \
-       PARA_ERROR(CHANNEL_COUNT, "channels count not available"), \
-       PARA_ERROR(HW_PARAMS, "unable to install hw params"), \
-       PARA_ERROR(BAD_PERIOD, "can not use period equal to buffer size"), \
-       PARA_ERROR(ALSA_WRITE, "alsa write error"), \
-       PARA_ERROR(PCM_OPEN, "unable to open pcm"), \
-       PARA_ERROR(PHYSICAL_WIDTH, "unable to determine bytes per frame"), \
-       PARA_ERROR(GET_BUFFER_TIME, "snd_pcm_hw_params_get_buffer_time_max() failed"), \
-       PARA_ERROR(SET_BUFFER_TIME, "snd_pcm_hw_params_set_buffer_time_near() failed"), \
-       PARA_ERROR(SET_RATE, "snd_pcm_hw_params_set_rate_near failed"), \
-       PARA_ERROR(START_THRESHOLD, "snd_pcm_sw_params_set_start_threshold() failed"), \
-       PARA_ERROR(STOP_THRESHOLD, "snd_pcm_sw_params_set_stop_threshold() failed"), \
+       PARA_ERROR(ALSA, "alsa error"), \
 
 
 #define WRITE_COMMON_ERRORS \
-       PARA_ERROR(WRITE_COMMON_SYNTAX, "syntax error in write option"), \
        PARA_ERROR(WRITE_COMMON_EOF, "end of file"), \
 
 
@@ -454,7 +460,11 @@ extern const char **para_errlist[];
        PARA_ERROR(QUEUE, "packet queue overrun"), \
 
 
-/** \endcond */
+#define INTERACTIVE_ERRORS \
+       PARA_ERROR(I9E_EOF, "end of input"), \
+       PARA_ERROR(I9E_SETUPTERM, "failed to set up terminal"), \
+
+/** \endcond errors */
 
 /**
  * The subsystem shift.