45 lines
1.9 KiB
C
45 lines
1.9 KiB
C
/* Códigos de error comunes de toda la API pública.
|
|
* Regla: valor < 0 = fallo, 0 = éxito, > 0 = éxito con aviso. */
|
|
#ifndef TAHGIBU_ERROR_H
|
|
#define TAHGIBU_ERROR_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum tgb_status {
|
|
TGB_WARN_HISTORY_LOST = 1, /* la operación se hizo pero no se pudo guardar para deshacer */
|
|
TGB_OK = 0,
|
|
TGB_ERR_INVALID_ARG = -1, /* argumento NULL o inválido */
|
|
TGB_ERR_NOMEM = -2, /* sin memoria */
|
|
TGB_ERR_RANGE = -3, /* índice o valor fuera de rango */
|
|
TGB_ERR_NOT_FOUND = -4, /* id/archivo/elemento inexistente */
|
|
TGB_ERR_EXISTS = -5, /* ya existe (p. ej. nombre repetido) */
|
|
TGB_ERR_IO = -6, /* error de lectura/escritura del sistema */
|
|
TGB_ERR_FORMAT = -7, /* el archivo no tiene el formato esperado */
|
|
TGB_ERR_CORRUPT = -8, /* datos dañados (Base64, PNG, CRC...) */
|
|
TGB_ERR_UNSUPPORTED = -9, /* válido pero no soportado todavía */
|
|
TGB_ERR_LIMIT = -10, /* supera un límite de seguridad */
|
|
TGB_ERR_STATE = -11, /* operación no permitida en el estado actual */
|
|
TGB_ERR_LOCKED = -12, /* capa bloqueada */
|
|
TGB_ERR_NOTHING = -13, /* nada que deshacer/rehacer */
|
|
TGB_ERR_PLUGIN = -14, /* fallo de una extensión */
|
|
TGB_ERR_INCOMPATIBLE = -15 /* versión de formato más nueva o desconocida */
|
|
} tgb_status;
|
|
|
|
#define TGB_FAILED(s) ((s) < 0)
|
|
#define TGB_SUCCEEDED(s) ((s) >= 0)
|
|
|
|
/* Nombre corto del código (para registros), p. ej. "TGB_ERR_IO". */
|
|
const char *tgb_status_name(tgb_status status);
|
|
|
|
/* Mensaje detallado en español del último fallo en ESTE hilo.
|
|
* Nunca devuelve NULL. El puntero es válido hasta la siguiente llamada
|
|
* a la API desde el mismo hilo; copia el texto si lo necesitas más tiempo. */
|
|
const char *tgb_last_error(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|