/**
 * @file errors_common.h
 * @author Piotr Krygier (everyonecancode@gmail.com)
 * @brief Common error messages, that can appear in any module
 * @version 0.1
 * @date 2023-10-05
 *
 * @copyright Copyright (c) 2023
 *
 */

#ifndef ERRORS_COMMON_H

/* Macro for checking status of function execution in initVulkan. Created to avoid writing boilerplate code */
#define STATUS_CHECK(FUNC)                 \
    status = FUNC;                         \
    if (RSE_ERROR_NO_ERROR != status) { \
        return status;                     \
    }

#define RSE_COMMON_MODULE_ID 0x0100U

enum common_error_t
{
    RSE_ERROR_NO_ERROR = RSE_COMMON_MODULE_ID,
    RSE_ERROR_NULL_POINTER,
    RSE_ERROR_ALREADY_INITIALIZED,
    RSE_COMMON_ERROR_MALLLOC_FAILED,
    RSE_ERROR_INVALID_PARAM,
    RSE_ERROR_INTERNAL_ERROR,
};

#define ERRORS_COMMON_H
#endif /* ERRORS_COMMON_H */
