GRU - Generic Reusable Utilities
Loading...
Searching...
No Matches
gru_status.h
Go to the documentation of this file.
1
16#ifndef GRU_STATUS_H
17#define GRU_STATUS_H
18
19#include <assert.h>
20#include <errno.h>
21#include <stdarg.h>
22#include <stdbool.h>
23#include <stdint.h>
24#include <stdio.h>
25#include <stdlib.h>
26#include <string.h>
27
28#include "common/gru_portable.h"
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34#define GRU_MAX_ERROR_MESSAGE 1024
35
36/*
37 * Valid status codes
38 */
39typedef enum gru_status_code_t_ {
43
47typedef struct gru_status_t_ {
48 char *message;
51
57
67 const char *message,
68 ...);
69
76gru_export void
77 gru_status_strerror(gru_status_t *status, gru_status_code_t code, int errnum);
78
84
90
96gru_export bool gru_status_error(const gru_status_t *status);
97
103gru_export bool gru_status_success(const gru_status_t *status);
104
105#ifdef __cplusplus
106}
107#endif
108
109#endif /* GRU_STATUS_H */
#define gru_export
Definition: gru_portable.h:19
gru_export void gru_status_reset(gru_status_t *status)
Resets the status.
Definition: gru_status.c:49
gru_export bool gru_status_success(const gru_status_t *status)
Checks for success status.
Definition: gru_status.c:87
gru_export gru_status_t gru_status_new()
Create a new status object.
Definition: gru_status.c:18
gru_export void gru_status_set(gru_status_t *status, gru_status_code_t code, const char *message,...)
Sets the status.
Definition: gru_status.c:26
gru_status_code_t_
Definition: gru_status.h:39
@ GRU_SUCCESS
Definition: gru_status.h:40
@ GRU_FAILURE
Definition: gru_status.h:41
struct gru_status_t_ gru_status_t
Status type.
gru_export void gru_status_strerror(gru_status_t *status, gru_status_code_t code, int errnum)
Sets the status from the errno.
Definition: gru_status.c:59
gru_export bool gru_status_error(const gru_status_t *status)
Checks for error status.
Definition: gru_status.c:83
gru_export void gru_status_set_success(gru_status_t *status)
Sets the status to success.
Definition: gru_status.c:55
enum gru_status_code_t_ gru_status_code_t
Status type.
Definition: gru_status.h:47
char * message
Definition: gru_status.h:48
gru_status_code_t code
Definition: gru_status.h:49