47 lines
937 B
C
47 lines
937 B
C
/**
|
|
* Copyright (c) 2025 favewa
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include "ratazana.h"
|
|
|
|
#include <stdarg.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
[[gnu::format(printf, 1, 2)]]
|
|
_Noreturn void ratazana_fatal(const char *fmt, ...)
|
|
{
|
|
va_list args;
|
|
va_start(args, fmt);
|
|
|
|
fprintf(stderr, "Fatal error: ");
|
|
vfprintf(stderr, fmt, args);
|
|
fprintf(stderr, "\n");
|
|
fflush(stderr);
|
|
|
|
va_end(args);
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
|
|
const char *ratazana_strerror(ratazana_result_t result)
|
|
{
|
|
switch (result) {
|
|
case RATAZANA_OK:
|
|
return "Success";
|
|
case RATAZANA_ERROR_INVALID_ARG:
|
|
return "Invalid argument";
|
|
case RATAZANA_ERROR_IO:
|
|
return "I/O error";
|
|
case RATAZANA_ERROR_TIMEOUT:
|
|
return "Timeout";
|
|
case RATAZANA_ERROR_NOT_FOUND:
|
|
return "Device not found";
|
|
case RATAZANA_ERROR_PROTOCOL:
|
|
return "Protocol error";
|
|
case RATAZANA_ERROR_ACCESS:
|
|
return "Access denied";
|
|
default:
|
|
return "Unknown error";
|
|
}
|
|
}
|