PARA_ERROR(STAT, "can not stat file"), \
PARA_ERROR(FSTAT, "fstat error"), \
PARA_ERROR(RENAME, "rename failed"), \
PARA_ERROR(STAT, "can not stat file"), \
PARA_ERROR(FSTAT, "fstat error"), \
PARA_ERROR(RENAME, "rename failed"), \
PARA_ERROR(MUNMAP, "munmap failed"), \
PARA_ERROR(WRITE, "write error"), \
PARA_ERROR(LSEEK, "lseek error"), \
PARA_ERROR(MUNMAP, "munmap failed"), \
PARA_ERROR(WRITE, "write error"), \
PARA_ERROR(LSEEK, "lseek error"), \
#define ATTRIBUTE_ERRORS \
PARA_ERROR(ATTR_SYNTAX, "attribute syntax error"), \
#define ATTRIBUTE_ERRORS \
PARA_ERROR(ATTR_SYNTAX, "attribute syntax error"), \
#define PLAYLIST_ERRORS \
PARA_ERROR(NO_PLAYLIST, "no valid playlist found"), \
PARA_ERROR(PLAYLIST_LOADED, ""), /* not really an error */ \
#define PLAYLIST_ERRORS \
PARA_ERROR(NO_PLAYLIST, "no valid playlist found"), \
PARA_ERROR(PLAYLIST_LOADED, ""), /* not really an error */ \
#define SIGNAL_ERRORS \
PARA_ERROR(SIGNAL_SIG_ERR, "signal() retured SIG_ERR"), \
PARA_ERROR(SIGNAL_READ, "read error from signal pipe"), \
#define SIGNAL_ERRORS \
PARA_ERROR(SIGNAL_SIG_ERR, "signal() retured SIG_ERR"), \
PARA_ERROR(SIGNAL_READ, "read error from signal pipe"), \
#define FD_ERRORS \
PARA_ERROR(FGETS, "fgets error"), \
PARA_ERROR(CHDIR, "failed to change directory"), \
#define FD_ERRORS \
PARA_ERROR(FGETS, "fgets error"), \
PARA_ERROR(CHDIR, "failed to change directory"), \
PARA_ERROR(OPEN, "failed to open file"), \
PARA_ERROR(CHDIR_PERM, "insufficient permissions to chdir"), \
PARA_ERROR(OPEN, "failed to open file"), \
PARA_ERROR(CHDIR_PERM, "insufficient permissions to chdir"), \