/* SPDX-License-Identifier: GPL-3.0-or-later */ /* * vfetch - neofetch but the ascii part is a video * * Copyright (C) 2026 Doan Luu Duc Tai * */ #ifndef SRC__ERROR_H #define SRC__ERROR_H typedef enum { VFETCH_SUCCESS = 0, VFETCH_SUCCESS_EXIT_EARLY, VFETCH_ERROR_MEMORY_ALLOCATION, VFETCH_ERROR_INVALID_ARGUMENT, VFETCH_ERROR_FILE_IO, VFETCH_ERROR_PIPE_CREATION, VFETCH_ERROR_FORK_FAILED, VFETCH_ERROR_EXEC_FAILED, VFETCH_ERROR_WAITPID_FAILED, VFETCH_ERROR_COMMAND_FAILED, VFETCH_ERROR_MKDIR_FAILED, VFETCH_ERROR_STAT_FAILED, VFETCH_ERROR_PATH_FAILED, VFETCH_ERROR_THREAD_CREATION, VFETCH_ERROR_MUTEX_INIT, VFETCH_ERROR_MMAP_FAILED, VFETCH_ERROR_VIDEO_OPEN_FAILED, VFETCH_ERROR_AV_STREAM_INFO, VFETCH_ERROR_MA_INIT, VFETCH_ERROR_CACHE_INVALID, VFETCH_ERROR_CHAFA_CONFIG } VfetchError; #ifdef __GNUC__ # define ATTR_CONST __attribute__((const)) #else # define ATTR_CONST #endif int map_vfetch_error_to_exit_code(VfetchError err) ATTR_CONST; #undef ATTR_CONST #endif /* SRC__ERROR_H */